Any plans to add the ability to call functions similar to GDB, LLDB and VS debuggers?
Opened this issue · 1 comments
Problem Statement
Mixed-mode debugging (for managed languages like those using CIL e.g. C#) often requires the ability to temporarily switch context to call into C functions in order to resolve the name of a given function pointer. But haven't found the ability to do this, yet? Is this planned? or am I missing something? maybe there is a philosophical reason not to add it that I don't know of? Or maybe it's just not on the roadmap yet?
Additional Info
E.g. Mono exposes mono_pmip
(source found here) to enable:
https://www.mono-project.com/docs/debug+profile/debug/
CoreCLR has IP2MD
and more to enable CoreCLR (.NET) debugging:
https://github.com/steveharter/dotnet_coreclr/blob/master/Documentation/building/debugging-instructions.md
To the curious here's an example of someone explaining how GDB does it:
https://jvns.ca/blog/2018/01/04/how-does-gdb-call-functions/
Where it seems to be today
So far I've only managed to use Go To Name
to find the function (required original source, didn't seem able to just return address) then at the source file location do Set Next Statement
. But, again, this doesn't allow me to get the function pointer of the function until I've already hit the statement, where setting any parameters is not possible.
Yeah, we'll add that eventually - it's not hard, it's just there are about 8 million dangerous corner cases (that the other debuggers just YOLO and do it). The big use is being able to call code that presents a better view of some data, but I think we have better ideas on how to handle that. The remaining uses are minor, but we'll probably have a way to do it someday.