Conditional breakpoints not working

I'm a new user to remedybg and am trying to set conditional breakpoints. I'm setting them the way I'd expect - right clicking on the breakpoint after creating it and setting a condition. The condition doesn't seem to work, though. This is pretty basic so I'm probably setting them up incorrectly, but I can't find any information on what I might be doing wrong. Thanks!

What's the condition you're writing in the textbox ?

Have you tried with a very simple example to see if it's working (for example a simple main function and testing if argc >= 1) ?

I'm having a similar issue with the processor/data breakpoints.

In the snippet below if I set the condition on the data breakpoint to *(&x) == 100. I would expect the debugger to halt on the assignment to *arg1 = 100 since it is a pointer to the local variable x on main but it doesn't.

In the readme there isn't an example syntax to use so I assume I have the syntax wrong but if someone could straighten me out I would appreciate it.

Breakpoint Definition:

Address - &x

Num Bytes - 4

Access Kind - Write

Condition: *(&x) == 100

Code:

void function( int *arg1 ) { *arg1 = 100; return; }

int main( int argc, char **argv ) {

int x = 10;

function( &x );

x = 100;

return 0;

}


Edited by novus1044 on

In the condition field if you use the address number it works:

If &x = 0x123456 than the condition should be:
( *(int*) 0x123456 ) == 100

It's not very user friendly but could help you for the moment.

It weird because if you use *arg1==100 as a condition it seems to ignore the condition and stops on all write.

Thanks Simon. I observed the same behavior you have when setting the condition to *arg1 == 100. Not entirely sure what is going on in that case.


Replying to mrmixer (#26617)