标签: conditional-breakpoint

从代码中观察内存位置/安装"数据断点"?

我们有内存覆盖问题.在某些时候,在我们的程序过程中,内存位置被覆盖并导致程序崩溃.问题仅在发布模式下发生.在调试时,一切都很好.这是一个经典的C/C++ bug,也是一个很难找到的bug.

我想知道是否有办法添加一些"调试代码"来监视这个内存位置,并在更改后调用回调.这基本上是调试器在调试模式下可以做的事情('数据断点'),但我们在发布时需要类似的东西.

c++ exception conditional-breakpoint

4
推荐指数
2
解决办法
1922
查看次数

Eclipse条件断点.如何检查是否发生异常?

我有这个功能:

public static FradId readFradId(DataInput pIn) throws IOException {
    Integer lMainId = Integer.valueOf(pIn.readInt());
    Integer lReferenceId = Integer.valueOf(pIn.readInt());
    String lShortname = pIn.readUTF();
    return new FradId(lMainId,lReferenceId,lShortname);
  }
Run Code Online (Sandbox Code Playgroud)

我在这一行得到了一个断点:

String lShortname = pIn.readUTF();
Run Code Online (Sandbox Code Playgroud)

我的问题是在某些情况下函数readUTF抛出一个RuntimeException.应用程序执行该功能超过100次,因此我很难找到问题.

我的问题:有没有办法用断点条件捕获该异常?我已经在简单的布尔条件下使用了这些条件,但我不知道在抛出异常时如何在该行中停止.

Thx提前

斯特凡

java eclipse conditional-breakpoint

4
推荐指数
1
解决办法
3490
查看次数

第一次进入递归函数的断点

是否可以创建断点,条件是递归过程的开始?换句话说,堆栈仅应调用该函数。

IE考虑以下工作流程:

主函数->调用递归函数->命中断点->继续->递归调用self->不要命中断点->继续递归。

java eclipse recursion breakpoints conditional-breakpoint

4
推荐指数
1
解决办法
712
查看次数

如何使用Windbg根据参数值设置条件断点

我想基于一个参数的成员设置条件断点,现在我可以使用dt命令检查此参数,我的代码如下所示:

void test(const MyClassB &inst, int value)
{
}
Run Code Online (Sandbox Code Playgroud)

现在,我可以使用dt命令查看第一个参数,即结果:

0:000:x86> dt MyClassB @esp+4
dbgee!MyClassB
   +0x000 id               : (null) 
   +0x004 m                : 0n2130567168
   +0x008 myClassA         : MyClassA
Run Code Online (Sandbox Code Playgroud)

现在,我想根据inst.m的值在此方法上设置一个条件断点,有人可以告诉我该怎么做吗?谢谢一群!

如果有人可以提供一些有关如何使用偏移量的信息(例如+ 0x004表示m),非常感谢!

windbg conditional-breakpoint

4
推荐指数
1
解决办法
3262
查看次数

Eclipse条件断点编译错误"=="AssignmentOperator无效

因此,如果我做对了,你应该为条件使用布尔表达式.然而,当我尝试使用时,impact == null我收到以下错误:

Conditional breakpoint has compilation error(s).

Reason:
Syntax error on token "==", invalid AssignmentOperator.
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?我做错了什么,我该如何解决?

eclipse conditional-breakpoint

4
推荐指数
1
解决办法
1956
查看次数

GDB - strcmp 不工作:__strcmp_sse2_unaligned

我无法使用 strcmp 在 GDB 中创建条件断点:

break x if strcmp(str.c_str(), "foo") == 0
Run Code Online (Sandbox Code Playgroud)

你为什么问?

因为:

print strcmp("hello", "hello")
Run Code Online (Sandbox Code Playgroud)

产量

(int (*)(const char *, const char *)) 0x7ffff76ffe70 <__strcmp_sse2_unaligned> 
Run Code Online (Sandbox Code Playgroud)

即使将其转换为整数:

print (int)strcmp("hello", "hello")
Run Code Online (Sandbox Code Playgroud)

它返回一些无意义的值,如 -143655312

这是“解决”我的问题的一种不太优雅的方法。我可以在自己的代码中定义一个函数:

int mystrcmp(const char *str1, const char* str2){
    return strcmp(str1, str2);                   
}                                                
Run Code Online (Sandbox Code Playgroud)

现在我可以使用这个函数来代替我的条件断点。但这不是真正的调试,是吗?当您必须更改原始代码以进行调试时,您就输了!

那么我错过了什么?

c++ gdb breakpoints strcmp conditional-breakpoint

4
推荐指数
1
解决办法
1143
查看次数

在SSMS中调试时可以设置条件断点吗?

我刚刚开始使用断点在Management Studio(SQL Server 2008)中调试T-SQL存储过程。我注意到断点窗口有一个条件列:

在此处输入图片说明

但是我找不到任何方法来实际在断点上指定条件,而不是通过“调试”菜单,通过断点或断点窗口内的上下文菜单等。

有没有办法在SSMS中使用条件断点,或者该列是否存在于将来的版本中?

debugging ssms conditional-breakpoint sql-server-2008

3
推荐指数
1
解决办法
2019
查看次数

如何在条件断点中使用 NaN?

我正在尝试在 Xcode 中设置条件断点。如果浮点变量为 NaN,我希望它中断。不幸的是 Xcode 被卡住了NAN(似乎是编译器标签)。如何在断点条件下测试 NaN?

xcode conditional-breakpoint

3
推荐指数
1
解决办法
3673
查看次数

lldb中的条件断点是否符合内存中的值?

根据内存中的值在lldb中设置条件断点的语法是什么?

就像是:

breakpoint modify -c "memory read -Gx $esp+4 == 0"

或者,我想如果条件为false,我可以设置断点命令继续,但我也找不到它的语法:)

breakpoints conditional-breakpoint lldb

3
推荐指数
1
解决办法
4061
查看次数

Windbg条件断点忽略条件本身

我正在调试没有源代码的应用程序,我使用IDA PRO + Windbg作为调试器.我正在接受CloseHandle使用特定句柄值的调用,例如handle = 0x14

我把条件断点像这样:

bp kernel32!CloseHandle "j (poi(@esp+4)=0x00000014) ''; 'gc'"

断点正常设置,但是每次调用都会中断CloseHandle,与我正在尝试的相反,只有在第一个参数等于时才会中断0x14

debugging windbg breakpoints ida conditional-breakpoint

2
推荐指数
1
解决办法
121
查看次数