-
Notifications
You must be signed in to change notification settings - Fork 107
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
support stepping into the standard libarary #12
Comments
Along these lines, I need to place a breakpoint in the standard library. I'm currently hitting net/http.ErrBodyReadAfterClose, and it's very difficult to tell why, so I want to set breakpoints in bufio and net/http, which I take it isn't possible or easy right now. |
I just hit this problem, and I wasted a significant amount of time on it. :( |
@jeffallen sorry to hear that :( Is there some UX change we could make that would at least make it more obvious what was going on? |
Well, it would be awesone if right before you stepped into non insrumented code it told you. Don't know if this is possible without too much overhead... |
Here's one idea: when the user runs "step", parse the next line and see if it contains a function call. Then run as normal until we hit the next |
+1
|
👍 Oh how much I wish for the std lib support |
👍 |
godebug's current procedure for running instrumented code for a package
x
is:$TMP/src/x
containing instrumented versions of the source files forx
go
command, settingGOPATH=$TMP:$GOPATH
. Thego
command finds our instrumented packages in$TMP/src
and finds any other un-instrumented packages in the normal GOPATH.That process does not work for standard library packages, though, because
$GOROOT
has to be a single directory.Here's my current plan for working around this:
godebug <run, test, build>
#8 of having a permanent godebug directory that contains instrumented versions of all the packages we have seen so far. Put standard library packages in the same place, or possibly in their own/goroot
or/std
directory.$GOROOT
.The text was updated successfully, but these errors were encountered: