I am trying to analyze some execution crash information, and to better identify the root cause of memory access error, I would like to reverse execute
the program from the crash point.
For example, to identify the root cause of memory access error below, I would like to reversely execute from the third line, and by leveraging some data flow analysis techniques, I should be able to identify the root cause at the first line.
mov -0x18(%rbp),%rax <---- root cause is at memory -0x18(%rbp)
add %rdx,%rax
mov (%rax),%eax <--- crash when reading (%rax)
So here is my question, is there any dynamic analysis tool/debugger that can support reverse execution? I prefer Pin
, but I am not aware that Pin
can do this..