【问题标题】:Confing launch.json in Vscode to fire up internal gdb在 Vscode 中配置 launch.json 以启动内部 gdb
【发布时间】:2021-02-18 14:30:49
【问题描述】:

我正在尝试在 vscode 中配置 launch.json,以便能够在编辑器中调试我的程序。我面对的是 126。vscode 文档解释了 here,我需要在 /etc/sysctl.d/ 中创建 10-ptrace.confe 并将其附加到其中:

kernel.yama.ptrace_scope = 0

我正在研究所有这些,因为我不想以 root 身份运行 vscode 来进行简单的调试会话。 问题是该文件已经存在,我没有权限在上面写,即使在使用之后:

sudo chmod +w 10-ptrace.conf

此外,我应该在文件中写入的这些值设置为 1 而不是 0。
如何克服这些困难并调试我的 C 程序?
有没有更好的方法来启动我应该尝试的调试会话?

替代问题:
如果我通过终端运行 gdb,我如何绘制地址以找到我的程序存在段错误的地址?我应该使用反汇编程序还是其他东西?
我目前正在使用雷达,但我之前的经验是使用 QtSpim。你有什么建议吗?

感谢任何形式的帮助。

【问题讨论】:

    标签: c linux debugging visual-studio-code permissions


    【解决方案1】:

    gdb 生成与您的源代码“优化代码”直接对应的汇编代码 我可以建议尝试“十六进制编辑器”并编辑您在 Windows 和 linux 上可用的二进制代码文件。 希望对你有帮助

    【讨论】:

    • Moammed Yazid 谢谢您的回答!我暂时不会接受你的回答,因为我想看看其他人对我的问题有什么看法。你知道为什么我没有编辑 10-ptrace.conf 文件的权限吗?我该如何更改?
    • 因为基本上我处于可以通过终端使用 gdb 进行调试的位置,所以我可以获得我的程序出现段错误的地址,但我无法将它与源代码中的一行相关联。我希望 vscode 有一些很棒的功能可以帮助我,但由于我无法配置它,因为我没有权限,我将不得不对我的代码进行逆向工程。有什么办法吗?
    猜你喜欢
    • 2023-02-13
    • 1970-01-01
    • 2019-10-05
    • 2016-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多