закешированный к нам в целях безопасности дебаггер
StepBreakpoints are set on CALL instructions, when they are hit we disassemble the current instruction, figure out the destination address and set a breakpoint after the prologue of the called function. In order to disassemble the current instruction we disassemble the area of memory starting from PC and going to PC+15 (because 15 bytes is the maximum length of one instruction on AMD64). This means that we won't just disassemble one instruction but also a few instructions following it ending with one truncated instruction. This usually works fine but sometimes the disassembler will panic with an array out of bounds error when trying to disassemble a truncated instruction. To avoid this problem this commit changes the funciton disassemble to take one extra parameter, singleInstr, when singleInstr is set disassemble will quit after disassembling a single instruction. |
||
|---|---|---|
| _fixtures | ||
| assets | ||
| cmd/dlv | ||
| Documentation | ||
| pkg | ||
| scripts | ||
| service | ||
| vendor | ||
| .gitattributes | ||
| .gitignore | ||
| .travis.yml | ||
| appveyor.yml | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| glide.lock | ||
| glide.yaml | ||
| ISSUE_TEMPLATE.md | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
The Github issue tracker is for bugs only. Please use the developer mailing list for any feature proposals and discussions.
About Delve
Delve is a debugger for the Go programming language. The goal of the project is to provide a simple, full featured debugging tool for Go. Delve should be easy to invoke and easy to use. Chances are if you're using a debugger, things aren't going your way. With that in mind, Delve should stay out of your way as much as possible.
