Crash has some support for per-cpu variables, but it really only works for static variables. My idea is that you should be able to take a per-cpu pointer and see the formatted data. The syntax should allow to specify a CPU or do it for all:
crash> percpu $CPU <address>
crash> percpu -a <address>
It should also be usable with static variables:
crash> percpu -a
This project is part of:
Hack Week 10
Comments
Similar Projects
Symbol Relations by hli
Description
There are tools to build function call graphs based on parsing source code, for example, cscope
.
This project aims to achieve a similar goal by directly parsing the disasembly (i.e. objdump) of a compiled binary. The assembly code is what the CPU sees, therefore more "direct". This may be useful in certain scenarios, such as gdb/crash debugging.
Detailed description and Demos can be found in the README file:
Supports x86 for now (because my customers only use x86 machines), but support for other architectures can be added easily.
Tested with python3.6
Goals
Any comments are welcome.
Resources
https://github.com/lhb-cafe/SymbolRelations
symrellib.py: mplements the symbol relation graph and the disassembly parser
symrel_tracer*.py: implements tracing (-t option)
symrel.py: "cli parser"