Mik*_*ebb 30 c++ windows debugging gdb mingw
我已经找到了关于这方面的文档,一无所获.我安装了MinGW,效果很好.我只是不知道如何使用调试器.
给出一些简单的代码,比如名为"mycode.cpp"的文件:
int main()
{
int temp = 0;
for (int i = 0; i < 5; ++i)
temp += i;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
...我该怎么调试呢 我在Windows中使用MinGW和GDB调试代码的命令是什么?我可以像在Visual Studio中那样通过命令行单步执行代码吗?如果是这样,我用什么命令来做到这一点?
有没有关于在那里使用GDB的教程?我找不到任何东西,但是如果有人能指引我去做一件很棒的话.我厌倦了编写大量的std::cout语句来调试复杂的代码.
Dan*_*ien 43
第一步是编译程序,-g在可执行文件中包含调试信息:
g++ -g -o myprog.exe mycode.cpp
Run Code Online (Sandbox Code Playgroud)
然后程序可以加载到gdb:
gdb myprog.exe
Run Code Online (Sandbox Code Playgroud)
一些命令可以帮助您入门:
break main会在main调用时导致调试器中断.你也可以打破代码行break FILENAME:LINENO.例如,break mycode.cpp:4只要程序到达第4行,就会中断执行mycode.cpp.start启动程序.在您的情况下,您需要在启动程序之前设置断点,因为它会快速退出.在断点处:
print VARNAME.这就是打印变量值的方式,无论是本地变量,静态变量还是全局变量.例如,在for循环中,您可以键入print temp以打印出temp变量的值.step 这相当于"踏入".next或adv +1前进到下一行(如"跳过").例如,您还可以前进到特定文件的特定行adv mycode.cpp:8.bt打印回溯.这本质上是一个堆栈跟踪.continue完全类似于可视调试器的"继续"操作.它会导致程序执行继续,直到下一个断点或程序退出.最好看的是GDB用户手册.
| 归档时间: |
|
| 查看次数: |
45506 次 |
| 最近记录: |