-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backtrace on "Watch (Read &) Write Access" #43
Comments
The target crashing is likely due to a defect in the debugger not being able to handle a breakpoint being hit simultaneously from different threads very well.. I'm seeing if I can improve this; the debugger code is more complex than I'd like :|. Getting the stack trace is not easy currently. Generating the stack trace each time a watchpoint was hit is expensive and the code would need to shifted/refactored to do it once per unique address, but I don't think it's worth making that change. More reasonable is a feature request of halting in the debugger for the first watch access, maybe. A neat workaround is injecting your own bit of code in the debugger. This will lead to much faster execution too. Eg:
|
Late response, but because the instruction is: I'd probably want to compare |
Especially when watching strings, you will get access from std::assign. The problem is, that you cannot set a breakpoint on std::assign as it is used very often. Conditional breakpoints e.g. eax == string address are crashing the watched software.
It would be nice if the watch window could show a backtrace, so you know which functions set the string.
The text was updated successfully, but these errors were encountered: