我从未使用过调试器,是时候尝试一下了。 MinGW 似乎与我一直尝试使用的 GDB 一起提供。 Supposdly 从命令行运行 gdb 并键入 run myprog.exe
启动调试器但是当我这样做时我得到 p>
启动程序:C:\MinGW\bin\myprog.exe MyProg.exe [新线程 1828.0xd8c] 打开文件时出错。 [下级 1(进程 1828)退出,代码为 02]
如何进行或更简单的方法是什么?
特别是我试图清除未定义的行为。
最佳答案
由于您的程序终止,您需要设置断点才能看到任何内容。在运行行之前尝试 break main
。然后你可以执行命令行next
(下一行),step
(进入/退出函数调用),print expression
(其中 expression 可以是变量名或函数调用或计算),显示表达式
(与 print 相同,但在每个提示之前打印)。在任何给定点,您都可以键入 backtrace
以获取调用堆栈。您甚至可以键入 up
和 down
来向上移动调用堆栈,这样您就可以打印更高的局部变量。
关于c - 如何在 Windows 上调试 C 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19176795/