因此,我使用gulp.js调用cl.exe和link.exe为我的c ++游戏构建了构建系统,以构建游戏。我正在生成一个输出pdb文件的构建,很确定我已打开所有调试符号。
游戏运行良好,但我想将其连接到vscode调试器。
现在,我在网上看到的绝大多数设置中,有人为调试器设置了launch.json,他们正在使用gdb。我不介意使用gdb,实际上只是在乎它是否有效。但是我正在用cl.exe和link.exe生成二进制文件。无论如何,我的启动器会很好地启动可执行文件,但是就像调试器没有连接一样。例如没有断点。
以前,我是与mingw一起建造的,一切都很好。我想改用cl.exe和link.exe,但是我怀疑这是调试器未附加的原因。
答案 0 :(得分:0)
GDB不是
Microsoft cl
和link
并不是这样的编译器和链接器。 GDB为the GNU debugger,
并受GNU GCC编译器-gcc
,g++
,gfortran
,gnat
,gccgo
-和GNU binutils
linkers的支持。 Microsoft .pdb
调试数据库对GDB没有任何意义:
它仅可由MS Visual Studio调试器使用。
如果使用cl
选项/Z7
进行编译,则
PE/COFF
调试信息将嵌入到您的目标文件中,如果您与选项/DEBUG:NONE
链接,
链接器将不会生成.pdb
。然后,您可能会发现GDB能够令人满意地调试可执行文件,但是
我不能保证这一点。