Or, as a lot of us likely do, apply your debugging knowledge to your static analysis.
I work in a different environment than most folks around, I would imagine, but I generally cannot mix my IDA analysis and dynamic analysis easily. As such, it is second nature for me to use a debugger as a means of augmenting my static analysis and vice-a-versa.
IDA's debugger has come a long way and you are free to write plugins to make it better as you see fit. Plus, it does appear 5.2 will have some rather nice enhancements.
I think the best approach would be ImmunityDebugger plus a few python scripts to dump what you want and then incorporate that data back into IDA.
IDA Pro's database and layout makes a really logical and well-suited place to store knowledge in my experience. Not perfect perhaps, but much better than data spread across numerous disjoint environments.
I want to do deobfuscation. Combining static and dynamic analysis is really helpfull for this. (finding dead code, fake conditional jumps, constant propagation, etc..)
to debug apps using int 1 or int 3, just go to the Debug -> Debugger options -> Exceptions and change EXCEPTION_BREAKPOINT and EXCEPTION_SINGLE_STEP from Handled by Debugger to Handled by Application.
it works, no doubts. Debugger passes an exception to the app. a self-traced program works fine. if not, well, there is something else. another anti-debug trick(s). I think, I can help you, just tell me (PM or here) what you're trying to debug and where I can get it.
Note: Registration is required to post to the forums.