首页 > 解决方案 > 在 VSC 中不使用 a.out 进行调试

问题描述

我想在 Visual Studio Code 中调试我的代码。但是,我失踪了a.out。我想我可能已经删除了它。我如何取回它?没有它有什么方法可以调试吗?我可以自己写吗?

我唯一想到的是将代码复制粘贴到整个不同的文件夹,制作新的makefile等。这很乏味,我认为可能有更简单的、超出我能力范围的解决方案。

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
    {
        "name": "(gdb) Launch",
        "type": "cppdbg",
        "request": "launch",
        "program": "${workspaceFolder}/a.out",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": false,
        "MIMode": "gdb",
        "setupCommands": [
            {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
            }
        ]
    }
]
}

这是launch.js文件,我尝试用类似的a.out东西代替它,Makefile因为它有一定的意义(好吧,我想到了,我链接了代码,没有任何可执行的方式)但没有用。我什至尝试了可执行对象obj(运行时./obj)但没有。

谢谢。

标签: c++linuxdebuggingvisual-studio-code

解决方案


a.out是编译程序的默认文件名。如果您在运行编译器时没有为输出文件指定名称,则使用它。-o在命令行上运行编译器时,输出文件的名称通常与选项一起给出。

听起来您现在更改了一些设置,以便编译的程序现在称为“vector”而不是“a.out”。所以只需更改调试器设置,使用“vector”而不是“a.out”。


推荐阅读