I'm trying to set breakpoints in OllyDBG, I found the address that I wish to break on and I've hit F2 in order to set the breakpoint.

However, when the program runs the code, it doesn't break. I'm not very familiar with OllyDBG and don't know how it works on multithreaded applications.

1) If a new thread opens to execute the instruction set with the breakpoint, will it still break?
2) What else might I check to get it to break?

I used OllyDBG before and never had problems with getting it to break, so I'm not sure what's changed.

3 Answers 3

  1. Yes

  2. Either the instruction is never actually executed by the target program (likely), or the target program is using anti-debugging code to disable your breakpoint (unlikely). For the former, reevaluate your assumptions about what code is executed; for the latter, try different types of breakpoints (software, hardware, and memory).


If the program does not use anti-debugging techniques, it is possible to debug multithreaded applications, so you can run the code step by step. Surely you can help "Hit trace", in a nutshell sets INT3 breakpoints on all branches that were not traced so far. You can see this https://www.youtube.com/watch?v=jtteWZhD8l8, it use OllySnake plugin


the problem would be the address at which you have placed your break point would not have been executed (or) you would not have placed the break point at the beginning of the instruction address (BP won't work if it is placed at the middle of an instruction)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.