我已经find这个文件,什么也没find。 我已经安装了MinGW,它工作得很好。 我只是不知道如何使用debugging器。
给定一些简单的代码,例如在一个名为“mycode.cpp”的文件中:
int main() { int temp = 0; for (int i = 0; i < 5; ++i) temp += i; return 0; }
…我将如何debugging这个。 在Windows中使用MinGW和GDBdebugging代码的命令是什么? 我可以像Visual Studio一样通过命令行执行代码吗? 如果是的话,我用什么命令来做到这一点?
那里有使用GDB的教程吗? 我找不到任何东西,但如果有人能指引我,那也会很棒。 我已经厌倦了编写大量的std::cout
语句来debugging复杂的代码。
第一步是用-g
编译你的程序,在可执行文件中包含调试信息:
g++ -g -o myprog.exe mycode.cpp
然后程序可以加载到gdb
:
gdb myprog.exe
几个命令让你开始:
break main
会导致调试器中断。 你也可以break FILENAME:LINENO
的代码行。 例如,当程序到达mycode.cpp
第4 mycode.cpp
, break mycode.cpp:4
会中断执行。 start
启动程序。 在你的情况下,你需要在启动程序之前设置断点,因为它快速退出。 在一个断点:
print VARNAME
。 这就是打印变量的值,无论是本地,静态还是全局。 例如,在for
循环中,可以输入print temp
打印出temp
变量的值。 step
这相当于“步入”。 next
或adv +1
前进到下一行(如“step over”)。 您也可以使用例如adv mycode.cpp:8
前进到特定文件的特定行。 bt
打印回溯。 这本质上是一个堆栈跟踪。 continue
完全像一个可视调试器的“继续”操作。 它会导致程序继续执行,直到下一个中断点或程序退出。 最好的阅读是GDB用户手册 。
在这个问题的Windows版本的GDB前端DDD有几个gdb的guis窗口
尽管DDD尚未被移植