Skip to content

Commit 74a07f2

Browse files
committed
Add shell test for new error message
1 parent e5edc85 commit 74a07f2

File tree

2 files changed

+44
-2
lines changed

2 files changed

+44
-2
lines changed

lldb/source/Plugins/Process/minidump/MinidumpParser.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ llvm::Expected<llvm::ArrayRef<uint8_t>> MinidumpParser::GetExpectedMemory(lldb::
494494
std::optional<minidump::Range> range = FindMemoryRange(addr);
495495
if (!range)
496496
return llvm::createStringError(llvm::inconvertibleErrorCode(),
497-
"No memory range found for address {0x%" PRIx64 "}",
497+
"No memory range found for address (0x%" PRIx64 ")",
498498
addr);
499499

500500
// There's at least some overlap between the beginning of the desired range
@@ -505,7 +505,7 @@ llvm::Expected<llvm::ArrayRef<uint8_t>> MinidumpParser::GetExpectedMemory(lldb::
505505

506506
if (addr < range->start || offset >= range->range_ref.size())
507507
return llvm::createStringError(llvm::inconvertibleErrorCode(),
508-
"Address {0x%" PRIx64 "} is not in range [{0x%" PRIx64 " - 0x%" PRIx64 "}]", addr, range->start, range->start + range->range_ref.size());
508+
"Address (0x%" PRIx64 ") is not in range [0x%" PRIx64 " - 0x%" PRIx64 ")", addr, range->start, range->start + range->range_ref.size());
509509

510510
const size_t overlap = std::min(size, range->range_ref.size() - offset);
511511
return range->range_ref.slice(offset, overlap);
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Check that looking up a memory region not present in the Minidump fails
2+
# even if it's in the /proc/<pid>/maps file.
3+
4+
# RUN: yaml2obj %s -o %t
5+
# RUN: %lldb -c %t -o "memory read 0x5000" 2>&1 | FileCheck %s
6+
7+
# CHECK-LABEL: (lldb) memory read 0x5000
8+
# CHECK-NEXT: error: No memory range found for address (0x5000)
9+
10+
--- !minidump
11+
Streams:
12+
- Type: SystemInfo
13+
Processor Arch: AMD64
14+
Processor Level: 6
15+
Processor Revision: 15876
16+
Number of Processors: 40
17+
Platform ID: Linux
18+
CSD Version: 'Linux 3.13.0-91-generic #138-Ubuntu SMP Fri Jun 24 17:00:34 UTC 2016 x86_64'
19+
CPU:
20+
Vendor ID: GenuineIntel
21+
Version Info: 0x00000000
22+
Feature Info: 0x00000000
23+
- Type: LinuxProcStatus
24+
Text: |
25+
Name: test-yaml
26+
Umask: 0002
27+
State: t (tracing stop)
28+
Pid: 8567
29+
- Type: LinuxMaps
30+
Text: |
31+
0x1000-0x1100 r-xp 00000000 00:00 0
32+
0x2000-0x2200 rw-p 00000000 00:00 0
33+
0x4000-0x6000 rw-- 00000000 00:00 0
34+
- Type: Memory64List
35+
Memory Ranges:
36+
- Start of Memory Range: 0x1000
37+
Data Size: 0x100
38+
Content : ''
39+
- Start of Memory Range: 0x2000
40+
Data Size: 0x200
41+
Content : ''
42+
...

0 commit comments

Comments
 (0)