-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Running tests: could not set hardware breakpoint: invalid argument #51
Comments
I wonder if we should be looking up dr7 with PEEKUSR - see for example http://lxr.free-electrons.com/source/tools/testing/selftests/breakpoints/breakpoint_test.c#L84 |
Hmm.. we likely should be reading the original value in order to preserve the control bits set for other regs aside from the one we are currently setting - however I'm not sure if this is what is causing the failure above. Along with this is a bug of the current implementation - it currently is setting dr7 bits for the base register DR0, and is not setting the values correctly for DR1-3. |
If you're happy to wait a bit I can try come up with a fix over weekend/Monday, else happy to test proposed fixes |
Check out http://en.wikipedia.org/wiki/X86_debug_register#DR7_-_Debug_control for more info on what I described above, also you may want to have a look at the intel manual: http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf specifically chapter 17. |
@pnasrat yeah definitely, that's no problem. |
Maybe an alignment issue? The hw breakpoints are set with DR_LEN_8 which I Here's my attempt to fix this, enable dr1-dr3 usage and to generally be more |
I can confirm that at ebfe/delve@c0b8435 when I run
On the box in question it all passes - I suggest you amend the commit message to add a https://help.github.com/articles/closing-issues-via-commit-messages/ before sending the pull request. Thanks, sorry not to have had time this evening to look at. |
Enable usage of dr1-dr3. Clear control bits when a breakpoint is disabled. Use DR_LEN_1 instead of DR_LEN_8 so breakpoint work on unaligned adresses. Fixes go-delve#51.
* fix provider key coming from account * remove provider key from request
Enable usage of dr1-dr3. Clear control bits when a breakpoint is disabled. Use DR_LEN_1 instead of DR_LEN_8 so breakpoint work on unaligned adresses. Fixes go-delve#51.
I'm happy to try figure this out.
Steps to reproduce - I'm using GCE to run in on centos 7 image.
Output:
Using gdb I can see
The text was updated successfully, but these errors were encountered: