| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[lldb][split-dwarf] implement GetSeparateDebugInfo for SymbolFileOnDemand (#71230) Small change to get image dump separate-debug-info working when using symbols.load-on-demand. Added tests to TestDumpDwo, and enabled the test for all platforms. If we fail to build, we skip the test, so this shouldn't cause the test to fail on unsupported platforms. bin/lldb-dotest -p TestDumpDwo It's easy to verify this manually by running lldb --one-line-before-file "settings set symbols.load-on-demand true" <some_target> (lldb) image dump separate-debug-info ... --------- Co-authored-by: Tom Yang <toyang@fb.com> | 2 年前 | |
[lldb][split-dwarf] implement GetSeparateDebugInfo for SymbolFileOnDemand (#71230) Small change to get image dump separate-debug-info working when using symbols.load-on-demand. Added tests to TestDumpDwo, and enabled the test for all platforms. If we fail to build, we skip the test, so this shouldn't cause the test to fail on unsupported platforms. bin/lldb-dotest -p TestDumpDwo It's easy to verify this manually by running lldb --one-line-before-file "settings set symbols.load-on-demand true" <some_target> (lldb) image dump separate-debug-info ... --------- Co-authored-by: Tom Yang <toyang@fb.com> | 2 年前 | |
[lldb][split-dwarf] implement GetSeparateDebugInfo for SymbolFileOnDemand (#71230) Small change to get image dump separate-debug-info working when using symbols.load-on-demand. Added tests to TestDumpDwo, and enabled the test for all platforms. If we fail to build, we skip the test, so this shouldn't cause the test to fail on unsupported platforms. bin/lldb-dotest -p TestDumpDwo It's easy to verify this manually by running lldb --one-line-before-file "settings set symbols.load-on-demand true" <some_target> (lldb) image dump separate-debug-info ... --------- Co-authored-by: Tom Yang <toyang@fb.com> | 2 年前 | |
Add target modules dump separate-debug-info (#66035) Add a new command target modules dump separate-debug-info [-j] [<filename> [<filename> [...]]] or image dump separate-debug-info [-j] [<filename> [<filename> [...]]] (since image is an alias for target modules). This lists the separate debug info files and their current status (loaded or not loaded) for the specified modules. This diff implements this command for mach-O files with OSO and ELF files with dwo. Example dwo: (lldb) image dump separate-debug-info Symbol file: /home/toyang/workspace/dwo-scratch/a.out Type: "dwo" Dwo ID Err Dwo Path ------------------ --- ----------------------------------------- 0x9a429da5abb6faae /home/toyang/workspace/scratch-dwo/a-main.dwo 0xbcc129959e76ff33 /home/toyang/workspace/scratch-dwo/a-foo.dwo (lldb) image dump separate-debug-info -j [ { "separate-debug-info-files": [ { "comp_dir": "/home/toyang/workspace/dwo-scratch", "dwo_id": 11115620165179865774, "dwo_name": "a-main.dwo", "loaded": true, "resolved_dwo_path": "/home/toyang/workspace/dwo-scratch/a-main.dwo" }, { "comp_dir": "/home/toyang/workspace/dwo-scratch", "dwo_id": 13601198072221073203, "dwo_name": "a-foo.dwo", "loaded": true, "resolved_dwo_path": "/home/toyang/workspace/dwo-scratch/a-foo.dwo" } ], "symfile": "/home/toyang/workspace/dwo-scratch/a.out", "type": "dwo" } ] Example dwo with missing dwo: (lldb) image dump separate-debug-info Symbol file: /home/toyang/workspace/dwo-scratch/a.out Type: "dwo" Dwo ID Err Dwo Path ------------------ --- ----------------------------------------- 0x9a429da5abb6faae E unable to locate .dwo debug file "/home/toyang/workspace/scratch-dwo/b.out-main.dwo" for skeleton DIE 0x0000000000000014 0xbcc129959e76ff33 E unable to locate .dwo debug file "/home/toyang/workspace/scratch-dwo/b.out-foo.dwo" for skeleton DIE 0x000000000000003c (lldb) image dump separate-debug-info -j [ { "separate-debug-info-files": [ { "comp_dir": "/home/toyang/workspace/dwo-scratch", "dwo_id": 11115620165179865774, "dwo_name": "a-main.dwo", "error": "unable to locate .dwo debug file \"/home/toyang/workspace/dwo-scratch/a-main.dwo\" for skeleton DIE 0x0000000000000014", "loaded": false }, { "comp_dir": "/home/toyang/workspace/dwo-scratch", "dwo_id": 13601198072221073203, "dwo_name": "a-foo.dwo", "error": "unable to locate .dwo debug file \"/home/toyang/workspace/dwo-scratch/a-foo.dwo\" for skeleton DIE 0x000000000000003c", "loaded": false } ], "symfile": "/home/toyang/workspace/dwo-scratch/a.out", "type": "dwo" } ] Example output with dwp: (lldb) image dump separate-debug-info Symbol file: /home/toyang/workspace/dwo-scratch/a.out Type: "dwo" Dwo ID Err Dwo Path ------------------ --- ----------------------------------------- 0x9a429da5abb6faae /home/toyang/workspace/dwo-scratch/a.out.dwp(a-main.dwo) 0xbcc129959e76ff33 /home/toyang/workspace/dwo-scratch/a.out.dwp(a-foo.dwo) (lldb) image dump separate-debug-info -j [ { "separate-debug-info-files": [ { "comp_dir": "/home/toyang/workspace/dwo-scratch", "dwo_id": 11115620165179865774, "dwo_name": "a-main.dwo", "loaded": true, "resolved_dwo_path": "/home/toyang/workspace/dwo-scratch/a.out.dwp" }, { "comp_dir": "/home/toyang/workspace/dwo-scratch", "dwo_id": 13601198072221073203, "dwo_name": "a-foo.dwo", "loaded": true, "resolved_dwo_path": "/home/toyang/workspace/dwo-scratch/a.out.dwp" } ], "symfile": "/home/toyang/workspace/dwo-scratch/a.out", "type": "dwo" } ] Example oso on my Mac: (lldb) image dump separate-debug-info Symbol file: /Users/toyang/workspace/scratch/a.out Type: "oso" Mod Time Err Oso Path ------------------ --- --------------------- 0x0000000064e64868 /Users/toyang/workspace/scratch/foo.a(foo.o) 0x0000000064e64868 /Users/toyang/workspace/scratch/foo.a(main.o) (lldb) image dump separate-debug-info -j [ { "separate-debug-info-files": [ { "loaded": true, "oso_mod_time": 1692813416, "oso_path": "/Users/toyang/workspace/scratch/foo.a(foo.o)", "so_file": "/Users/toyang/workspace/scratch/foo.cpp" }, { "loaded": true, "oso_mod_time": 1692813416, "oso_path": "/Users/toyang/workspace/scratch/foo.a(main.o)", "so_file": "/Users/toyang/workspace/scratch/main.cpp" } ], "symfile": "/Users/toyang/workspace/scratch/a.out", "type": "oso" } ] Test Plan: Tested on Mac OS and Linux. lldb-dotest -p TestDumpDwo lldb-dotest -p TestDumpOso --------- Co-authored-by: Tom Yang <toyang@fb.com> | 2 年前 | |
[lldb][split-dwarf] implement GetSeparateDebugInfo for SymbolFileOnDemand (#71230) Small change to get image dump separate-debug-info working when using symbols.load-on-demand. Added tests to TestDumpDwo, and enabled the test for all platforms. If we fail to build, we skip the test, so this shouldn't cause the test to fail on unsupported platforms. bin/lldb-dotest -p TestDumpDwo It's easy to verify this manually by running lldb --one-line-before-file "settings set symbols.load-on-demand true" <some_target> (lldb) image dump separate-debug-info ... --------- Co-authored-by: Tom Yang <toyang@fb.com> | 2 年前 |