debugger/locations: locspec "+0" should always evaluate to the current PC
So far we have evaluated the locspec "+0" the same way we evaluate all "+n" locspecs, this means that we turn the current PC into a file:line pair, then we turn back the file:line into a PC address. Normally this is harmless, however all autogenerated code returns the source position "<autogenerated>:1" which resolves back to the very first autogenerated instruction in the code. This messes up the behaviour of the "disassemble" command which uses the locspec "+0" to figure out what code to disassemble if no arguments are passed. We should make +0 always resolve to the current PC (of the given scope) so that clients can use +0 as a default locspec.
Showing
想要评论请 注册 或 登录