C语言中如何在语句处设置断点,进行观察

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中如何在语句处设置断点,进行观察相关的知识,希望对你有一定的参考价值。

C语言中如何在语句处设置断点,进行观察

首先是插入断点:  用VC6.0是一个小手的图形  在你需要的行点一下这个按钮就行 或者点鼠标右键有插入断点选项 或者直接按F9也可以

插入断点后  按F5 在断点就可以停了  这是你就可以在下面看你定义变量的值  

希望对你有帮助 如果还有不明白的 在线说

参考技术A .0的调试器,那么可能你的调试手段就会受一定限制,VC下主要就是
单步,步入,堆栈和寄存器的查看,变量的查看,普通断点,条件断点,内存访问断点;
如果你用OllyDbg,那么除了上述手段外,还有硬断点,内存读/写断点等
如果你用windbg的话,手段也很丰富,就是命令多了点,可能需要你去记;

大多数调试器的常用手段就是我上面说的那些了
参考技术B 用的vc编译器吗?可以在想插入断点处,点击右键,出入断点,然后进行调试程序。 参考技术C 将光标移到所要设置断点的那一行然后按F9设置断点 在这行的前面会出现一个红色的圆点。
然后按F5调试 这样就可以看到程序运行到断点处的结果了本回答被提问者采纳

如何在全局返回语句上设置条件断点?

【中文标题】如何在全局返回语句上设置条件断点?【英文标题】:How to set conditional breakpoint on return statement globally? 【发布时间】:2014-09-22 05:53:14 【问题描述】:

我有一个充满功能的代码,例如:

bool f_i() 

    if (!f_0()) 
        return false;
    
    if (!f_1()) 
        return false;
     
    // ...
    if (!f_n()) 
        return false;
     
    return true;

// etc...

在某些执行步骤中,一些被调用者可以返回false,而false 会传播到所有调用者。目前很难编写错误消息(代码正在迅速更改)。在调试期间,在每个 return false; 之前都有错误消息是过多的。

是否可以使用GDB 全局在return 语句上设置条件(例如,函数返回false)断点?

【问题讨论】:

你能把它分成多行然后断线吗? b file.cpp:12 @Ben 不,我不能。有大量的一行,其中包含return false; 我认为它比这复杂得多,因为整个事情都简单地转移到return f1() && f0();。无论如何,如果归结为带有bool 转换运算符的结构和预处理器上的一点扭矩,如果足够用力(并给你一个设置断点的地方:在运算符上),它可能会起作用。祝你好运。 @WhozCraig 不错的方法。这将是最后的手段。 有AST matchers in clang++,但我想不出怎么用。顺便说一句,GDBrbreak(使用正则表达式)命令,但它只专门用于函数名称。 【参考方案1】:

在某些执行步骤中,某些被调用者可能返回 false

据我了解,您想在f_i() 中找到返回false 的第一个函数。您可以为此使用reverse debugging。 你可以:

    结束当前帧执行

    (gdb) 鳍

    后退一步,如果返回值为false

    (gdb) 逆步

    如果你需要,你可以继续往回走,深入false传播调用

    (gdb) 反向鳍 (gdb) 反步

【讨论】:

函数不是一个。在不同的翻译单元中有很多类似的功能。

以上是关于C语言中如何在语句处设置断点,进行观察的主要内容,如果未能解决你的问题,请参考以下文章

对于C或C++语言,VS下调试如何查看指针数组的所指向的内容?谢谢指导.

如何在PyCharm中调试程序

如何在有input() 语句下断点调试(内附高清无码福利)

matlab编程如何设置断点、如何单步调试、如何提高程序运行速度

C语言学习 -- VisualStudio基本调试方法

如何在程序执行的最开始设置断点