-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[llvm-pdbutil] Add options to only dump symbol record at specified of…
…fset and its parents or children with spcified depth. Right now, if we want to dump symbol at specified offset, we need to use `grep`. And it can only show surrounding symbols in layout (not in lexical scope sense). This adds similar options to `dump` command as `llvm-dwarfdump` to allow users to dump symbol record at specified offset and its parents or children with spcified depth. `--symbol-offset=` must be used with `--modi` to dump only one symbol at given offset. `--show-parents`/`--show-children` must be used with `--symbol-offset` to dump all symbols that are parents/children of the symbol at given offset. `--parent-recurse-depth`/`--children-recurse-depth` must be used with `--show-parents`/`--show-children` to specify the max up/down depth. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D124317
- Loading branch information
Showing
10 changed files
with
516 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,204 @@ | ||
--- | ||
DbiStream: | ||
VerHeader: V70 | ||
Age: 1 | ||
BuildNumber: 36363 | ||
PdbDllVersion: 0 | ||
PdbDllRbld: 0 | ||
Flags: 0 | ||
MachineType: Amd64 | ||
Modules: | ||
- Module: '/tmp/test.obj' | ||
Modi: | ||
Signature: 4 | ||
Records: | ||
- Kind: S_GPROC32 | ||
ProcSym: | ||
PtrParent: 0 | ||
PtrEnd: 468 | ||
PtrNext: 0 | ||
CodeSize: 137 | ||
DbgStart: 0 | ||
DbgEnd: 0 | ||
FunctionType: 4104 | ||
Offset: 176 | ||
Segment: 1 | ||
Flags: [ ] | ||
DisplayName: main | ||
- Kind: S_FRAMEPROC | ||
FrameProcSym: | ||
TotalFrameBytes: 56 | ||
PaddingFrameBytes: 0 | ||
OffsetToPadding: 0 | ||
BytesOfCalleeSavedRegisters: 0 | ||
OffsetOfExceptionHandler: 0 | ||
SectionIdOfExceptionHandler: 0 | ||
Flags: [ ] | ||
- Kind: S_LOCAL | ||
LocalSym: | ||
Type: 116 | ||
Flags: [ IsParameter ] | ||
VarName: argc | ||
- Kind: S_DEFRANGE_FRAMEPOINTER_REL | ||
DefRangeFramePointerRelSym: | ||
Offset: 4 | ||
Range: | ||
OffsetStart: 197 | ||
ISectStart: 1 | ||
Range: 116 | ||
Gaps: [] | ||
- Kind: S_LOCAL | ||
LocalSym: | ||
Type: 4102 | ||
Flags: [ IsParameter ] | ||
VarName: argv | ||
- Kind: S_DEFRANGE_FRAMEPOINTER_REL | ||
DefRangeFramePointerRelSym: | ||
Offset: 8 | ||
Range: | ||
OffsetStart: 197 | ||
ISectStart: 1 | ||
Range: 116 | ||
Gaps: [] | ||
- Kind: S_INLINESITE | ||
InlineSiteSym: | ||
PtrParent: 4 | ||
PtrEnd: 464 | ||
Inlinee: 4098 | ||
- Kind: S_LOCAL | ||
LocalSym: | ||
Type: 116 | ||
Flags: [ IsParameter ] | ||
VarName: x | ||
- Kind: S_DEFRANGE_FRAMEPOINTER_REL | ||
DefRangeFramePointerRelSym: | ||
Offset: 24 | ||
Range: | ||
OffsetStart: 221 | ||
ISectStart: 1 | ||
Range: 87 | ||
Gaps: [] | ||
- Kind: S_LOCAL | ||
LocalSym: | ||
Type: 116 | ||
Flags: [ IsParameter ] | ||
VarName: y | ||
- Kind: S_DEFRANGE_FRAMEPOINTER_REL | ||
DefRangeFramePointerRelSym: | ||
Offset: 28 | ||
Range: | ||
OffsetStart: 221 | ||
ISectStart: 1 | ||
Range: 87 | ||
Gaps: [] | ||
- Kind: S_LOCAL | ||
LocalSym: | ||
Type: 116 | ||
Flags: [ IsParameter ] | ||
VarName: z | ||
- Kind: S_DEFRANGE_FRAMEPOINTER_REL | ||
DefRangeFramePointerRelSym: | ||
Offset: 32 | ||
Range: | ||
OffsetStart: 221 | ||
ISectStart: 1 | ||
Range: 87 | ||
Gaps: [] | ||
- Kind: S_INLINESITE | ||
InlineSiteSym: | ||
PtrParent: 144 | ||
PtrEnd: 288 | ||
Inlinee: 4096 | ||
- Kind: S_LOCAL | ||
LocalSym: | ||
Type: 116 | ||
Flags: [ IsParameter ] | ||
VarName: x | ||
- Kind: S_DEFRANGE_FRAMEPOINTER_REL | ||
DefRangeFramePointerRelSym: | ||
Offset: 40 | ||
Range: | ||
OffsetStart: 229 | ||
ISectStart: 1 | ||
Range: 7 | ||
Gaps: [] | ||
- Kind: S_INLINESITE_END | ||
ScopeEndSym: {} | ||
- Kind: S_INLINESITE | ||
InlineSiteSym: | ||
PtrParent: 144 | ||
PtrEnd: 412 | ||
Inlinee: 4097 | ||
- Kind: S_LOCAL | ||
LocalSym: | ||
Type: 116 | ||
Flags: [ IsParameter ] | ||
VarName: x | ||
- Kind: S_DEFRANGE_FRAMEPOINTER_REL | ||
DefRangeFramePointerRelSym: | ||
Offset: 44 | ||
Range: | ||
OffsetStart: 260 | ||
ISectStart: 1 | ||
Range: 19 | ||
Gaps: [] | ||
- Kind: S_LOCAL | ||
LocalSym: | ||
Type: 116 | ||
Flags: [ IsParameter ] | ||
VarName: y | ||
- Kind: S_DEFRANGE_FRAMEPOINTER_REL | ||
DefRangeFramePointerRelSym: | ||
Offset: 48 | ||
Range: | ||
OffsetStart: 260 | ||
ISectStart: 1 | ||
Range: 19 | ||
Gaps: [] | ||
- Kind: S_INLINESITE | ||
InlineSiteSym: | ||
PtrParent: 292 | ||
PtrEnd: 408 | ||
Inlinee: 4096 | ||
- Kind: S_LOCAL | ||
LocalSym: | ||
Type: 116 | ||
Flags: [ IsParameter ] | ||
VarName: x | ||
- Kind: S_DEFRANGE_FRAMEPOINTER_REL | ||
DefRangeFramePointerRelSym: | ||
Offset: 52 | ||
Range: | ||
OffsetStart: 272 | ||
ISectStart: 1 | ||
Range: 7 | ||
Gaps: [] | ||
- Kind: S_INLINESITE_END | ||
ScopeEndSym: {} | ||
- Kind: S_INLINESITE_END | ||
ScopeEndSym: {} | ||
- Kind: S_INLINESITE | ||
InlineSiteSym: | ||
PtrParent: 144 | ||
PtrEnd: 460 | ||
Inlinee: 4096 | ||
- Kind: S_LOCAL | ||
LocalSym: | ||
Type: 116 | ||
Flags: [ IsParameter ] | ||
VarName: x | ||
- Kind: S_DEFRANGE_FRAMEPOINTER_REL | ||
DefRangeFramePointerRelSym: | ||
Offset: 36 | ||
Range: | ||
OffsetStart: 299 | ||
ISectStart: 1 | ||
Range: 7 | ||
Gaps: [] | ||
- Kind: S_INLINESITE_END | ||
ScopeEndSym: {} | ||
- Kind: S_INLINESITE_END | ||
ScopeEndSym: {} | ||
- Kind: S_END | ||
ScopeEndSym: {} | ||
... |
Oops, something went wrong.