-
Notifications
You must be signed in to change notification settings - Fork 5
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
Expose kernel symbols at runtime #37
Comments
As of 7ad3e03, Ward now has a full listing of the kernel symbols mapped into the kernel address space. This doesn't have line numbers, but it does include (mangled) function names. |
Symbol lookup works! Sample panic:
Sample page fault:
We could stand to look up a few more things, like |
I just did a quick experiment on getting actual filenames/line numbers using a Rust program that just sweeps through all addresses in the .text segment and uses the addr2line library to resolve the program location. The whole thing takes only 0.2 seconds to run and in total there there were only 76609 valid address that didn't match the line number of the previous address. My main conclusion is that it should be totally feasible to provide a compact representation of this at runtime. The code is on the loc branch if you want to take a look. |
So that we don't have to convert instruction pointers to line numbers via an external command like:
The text was updated successfully, but these errors were encountered: