[Lldb-commits] [lldb] r370898 - disassemble command: fix error message when disassembly fails
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Wed Sep 4 06:26:41 PDT 2019
Author: labath
Date: Wed Sep 4 06:26:41 2019
New Revision: 370898
URL: http://llvm.org/viewvc/llvm-project?rev=370898&view=rev
Log:
disassemble command: fix error message when disassembly fails
We were printing the start_addr field, which is not correct, as in this
branch we are processing the memory described by cur_range. Print that
instead.
Ideally, in particular this case, the error message would also say
something about not being able to disassemble due to not having found
the module from the core file, but that is not easy to do right now, so
I'm leaving that for another time.
Added:
lldb/trunk/lit/Minidump/disassemble-no-module.yaml
lldb/trunk/lit/Minidump/lit.local.cfg
Modified:
lldb/trunk/source/Commands/CommandObjectDisassemble.cpp
Added: lldb/trunk/lit/Minidump/disassemble-no-module.yaml
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Minidump/disassemble-no-module.yaml?rev=370898&view=auto
==============================================================================
--- lldb/trunk/lit/Minidump/disassemble-no-module.yaml (added)
+++ lldb/trunk/lit/Minidump/disassemble-no-module.yaml Wed Sep 4 06:26:41 2019
@@ -0,0 +1,48 @@
+# RUN: yaml2obj %s > %t
+# RUN: %lldb -c %t -o bt -o disassemble 2>&1 | FileCheck %s
+
+# CHECK-LABEL: (lldb) bt
+# CHECK: frame #0: 0x0000000000400430
+# CHECK-LABEL: (lldb) disassemble
+# CHECK-NEXT: error: error reading data from section .module_image
+# CHECK-NEXT: error: Failed to disassemble memory at 0x00400430.
+
+--- !minidump
+Streams:
+ - Type: ThreadList
+ Threads:
+ - Thread Id: 0x000074F3
+ Context: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B001000000000006CAE000000006B7FC05A0000C81D415A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A2BF9E5A6B7F0000000000000000000000000000000000008850C14BFD7F00009850C14BFD7F00000100000000000000B04AC14BFD7F0000000000000000000060812D01000000000800000000000000B065E05A6B7F00008004400000000000E050C14BFD7F00000000000000000000000000000000000030044000000000007F03FFFF0000FFFFFFFFFFFF000000000000000000000000801F00006B7F00000400000000000000B84CC14BFD7F0000304D405A6B7F0000C84DC14BFD7F0000C0AA405A6B7F00004F033D0000000000B84DC14BFD7F0000E84DC14BFD7F0000000000000000000000000000000000000070E05A6B7F000078629E5A6B7F0000C81D415A6B7F0000804F9E5A6B7F00000000000001000000E603000001000000E093115A6B7F0000804EC14BFD7F0000584EC14BFD7F000099ADC05A6B7F00000100000000000000AAAAD77D0000000002000000000000000800000000000000B065E05A6B7F0000E6B7C05A6B7F0000010000006B7F0000884DC14BFD7F0000106F7C5A6B7F0000984EC14BFD7F0000488B7C5A6B7F0000C4A71CB90000000001000000000000000800000000000000B065E05A6B7F000048B6C05A6B7F0000702AE25A6B7F0000D84DC14BFD7F000030489E5A6B7F0000E84EC14BFD7F0000E05E9E5A6B7F00000991F0460000000001000000000000000800000000000000B065E05A6B7F000048B6C05A6B7F00000100000000000000284EC14BFD7F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+ Stack:
+ Start of Memory Range: 0x00007FFD4BC15080
+ Content: 30044000000000000000000000000000
+ - Type: ModuleList
+ Modules:
+ - Base of Image: 0x0000000000400000
+ Size of Image: 0x00001000
+ Module Name: 'nonexisting-module'
+ CodeView Record: 4C4570426CCF3F60FFA7CC4B86AE8FF44DB2576A68983611
+ - Type: MemoryList
+ Memory Ranges:
+ - Start of Memory Range: 0x00007FFD4BC15080
+ Content: 30044000000000000000000000000000
+ - Type: SystemInfo
+ Processor Arch: AMD64
+ Platform ID: Linux
+ CPU:
+ Vendor ID: GenuineIntel
+ Version Info: 0x00000000
+ Feature Info: 0x00000000
+ - Type: LinuxProcStatus
+ Text: |
+ Name: nonexisting-module
+ State: t (tracing stop)
+ Tgid: 29939
+ Ngid: 0
+ Pid: 29939
+ PPid: 29370
+ TracerPid: 29940
+ Uid: 1001 1001 1001 1001
+ Gid: 1001 1001 1001 1001
+
+...
Added: lldb/trunk/lit/Minidump/lit.local.cfg
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Minidump/lit.local.cfg?rev=370898&view=auto
==============================================================================
--- lldb/trunk/lit/Minidump/lit.local.cfg (added)
+++ lldb/trunk/lit/Minidump/lit.local.cfg Wed Sep 4 06:26:41 2019
@@ -0,0 +1 @@
+config.suffixes = ['.test', '.yaml']
Modified: lldb/trunk/source/Commands/CommandObjectDisassemble.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectDisassemble.cpp?rev=370898&r1=370897&r2=370898&view=diff
==============================================================================
--- lldb/trunk/source/Commands/CommandObjectDisassemble.cpp (original)
+++ lldb/trunk/source/Commands/CommandObjectDisassemble.cpp Wed Sep 4 06:26:41 2019
@@ -510,7 +510,7 @@ bool CommandObjectDisassemble::DoExecute
} else {
result.AppendErrorWithFormat(
"Failed to disassemble memory at 0x%8.8" PRIx64 ".\n",
- m_options.start_addr);
+ cur_range.GetBaseAddress().GetLoadAddress(target));
result.SetStatus(eReturnStatusFailed);
}
if (print_sc_header)
More information about the lldb-commits
mailing list