c - 如何在 Windows 上调试 C 程序?

标签 c windows debugging gdb mingw

我从未使用过调试器,是时候尝试一下了。 MinGW 似乎与我一直尝试使用的 GDB 一起提供。 Supposdly 从命令行运行 gdb 并键入 run myprog.exe 启动调试器但是当我这样做时我得到

启动程序:C:\MinGW\bin\myprog.exe MyProg.exe [新线程 1828.0xd8c] 打开文件时出错。 [下级 1(进程 1828)退出,代码为 02]

如何进行或更简单的方法是什么?

特别是我试图清除未定义的行为。

最佳答案

由于您的程序终止,您需要设置断点才能看到任何内容。在运行行之前尝试 break main。然后你可以执行命令行next(下一行),step(进入/退出函数调用),print expression(其中 expression 可以是变量名或函数调用或计算),显示表达式(与 print 相同,但在每个提示之前打印)。在任何给定点,您都可以键入 backtrace 以获取调用堆栈。您甚至可以键入 updown 来向上移动调用堆栈,这样您就可以打印更高的局部变量。

关于c - 如何在 Windows 上调试 C 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19176795/

相关文章:

c - Glib:创建 GDBusProxy 时内存泄漏

.net - AD/表单认证

c++ - mingw windows找不到Eigen头文件

python - 为什么有时用finally来调试呢?

c++ - "The breakpoint will not currently be hit"- 我无法添加 .pdb 文件

c++ - 如何在不使用线程的情况下并发执行一个函数

使用 select 函数关闭服务器

我可以使用共享读写打开吗?

php - Windows IIS 8.5新网站权限被拒绝

javascript - Internet Explorer 表示对象不支持此属性或方法