[Lldb-commits] [lldb] r327501 - Update selected thread after loading mach core
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Wed Mar 14 04:50:10 PDT 2018
Author: jdevlieghere
Date: Wed Mar 14 04:50:10 2018
New Revision: 327501
URL: http://llvm.org/viewvc/llvm-project?rev=327501&view=rev
Log:
Update selected thread after loading mach core
The OS plugins might have updated the thread list after a core file has
been loaded. The physical thread in the core file may no longer be the
one that should be selected. Hence we should run the thread selection
logic after loading the core.
Differential revision: https://reviews.llvm.org/D44139
Added:
lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/
lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/TestMachCore.py
lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/operating_system.py
lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/test.core.yaml
Modified:
lldb/trunk/source/Target/Process.cpp
Added: lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/TestMachCore.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/TestMachCore.py?rev=327501&view=auto
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/TestMachCore.py (added)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/TestMachCore.py Wed Mar 14 04:50:10 2018
@@ -0,0 +1,68 @@
+"""
+Test basics of mach core file debugging.
+"""
+
+from __future__ import print_function
+
+import shutil
+import struct
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+class MachCoreTestCase(TestBase):
+ NO_DEBUG_INFO_TESTCASE = True
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ def setUp(self):
+ super(MachCoreTestCase, self).setUp()
+ self._initial_platform = lldb.DBG.GetSelectedPlatform()
+
+ def tearDown(self):
+ lldb.DBG.SetSelectedPlatform(self._initial_platform)
+ super(MachCoreTestCase, self).tearDown()
+
+ def test_selected_thread(self):
+ """Test that the right thread is selected after a core is loaded."""
+ # Create core form YAML.
+ self.yaml2obj("test.core.yaml", self.getBuildArtifact("test.core"))
+
+ # Set debugger into synchronous mode
+ self.dbg.SetAsync(False)
+
+ # Create a target by the debugger.
+ target = self.dbg.CreateTarget("")
+
+ # Load OS plugin.
+ python_os_plugin_path = os.path.join(self.getSourceDir(),
+ 'operating_system.py')
+ command = "settings set target.process.python-os-plugin-path '{}'".format(
+ python_os_plugin_path)
+ self.dbg.HandleCommand(command)
+
+ # Load core.
+ process = target.LoadCore(self.getBuildArtifact("test.core"))
+ self.assertTrue(process, PROCESS_IS_VALID)
+ self.assertEqual(process.GetNumThreads(), 3)
+
+ # Verify our OS plug-in threads showed up
+ thread = process.GetThreadByID(0x111111111)
+ self.assertTrue(thread.IsValid(
+ ), "Make sure there is a thread 0x111111111 after we load the python OS plug-in"
+ )
+ thread = process.GetThreadByID(0x222222222)
+ self.assertTrue(thread.IsValid(
+ ), "Make sure there is a thread 0x222222222 after we load the python OS plug-in"
+ )
+ thread = process.GetThreadByID(0x333333333)
+ self.assertTrue(thread.IsValid(
+ ), "Make sure there is a thread 0x333333333 after we load the python OS plug-in"
+ )
+
+ # Verify that the correct thread is selected
+ thread = process.GetSelectedThread()
+ self.assertEqual(thread.GetThreadID(), 0x333333333)
Added: lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/operating_system.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/operating_system.py?rev=327501&view=auto
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/operating_system.py (added)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/operating_system.py Wed Mar 14 04:50:10 2018
@@ -0,0 +1,45 @@
+import lldb
+import struct
+
+
+class OperatingSystemPlugIn(object):
+ """Class that provides data for an instance of a LLDB 'OperatingSystemPython' plug-in class"""
+
+ def __init__(self, process):
+ '''Initialization needs a valid.SBProcess object.
+
+ This plug-in will get created after a live process is valid and has stopped for the first time.
+ '''
+ self.process = None
+ self.registers = None
+ self.threads = None
+ if isinstance(process, lldb.SBProcess) and process.IsValid():
+ self.process = process
+ self.threads = None # Will be an dictionary containing info for each thread
+
+ def get_target(self):
+ return self.process.target
+
+ def get_thread_info(self):
+ if not self.threads:
+ self.threads = [{
+ 'tid': 0x111111111,
+ 'name': 'one',
+ 'queue': 'queue1',
+ 'state': 'stopped',
+ 'stop_reason': 'none'
+ }, {
+ 'tid': 0x222222222,
+ 'name': 'two',
+ 'queue': 'queue2',
+ 'state': 'stopped',
+ 'stop_reason': 'none'
+ }, {
+ 'tid': 0x333333333,
+ 'name': 'three',
+ 'queue': 'queue3',
+ 'state': 'stopped',
+ 'stop_reason': 'sigstop',
+ 'core': 0
+ }]
+ return self.threads
Added: lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/test.core.yaml
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/test.core.yaml?rev=327501&view=auto
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/test.core.yaml (added)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/mach-core/test.core.yaml Wed Mar 14 04:50:10 2018
@@ -0,0 +1,853 @@
+--- !mach-o
+FileHeader:
+ magic: 0xFEEDFACF
+ cputype: 0x01000007
+ cpusubtype: 0x00000003
+ filetype: 0x00000004
+ ncmds: 59
+ sizeofcmds: 4384
+ flags: 0x00000000
+ reserved: 0x00000000
+LoadCommands:
+ - cmd: LC_THREAD
+ cmdsize: 208
+ PayloadBytes:
+ - 0x04
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x2A
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x01
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x80
+ - 0xF7
+ - 0xBF
+ - 0xEF
+ - 0xFE
+ - 0x7F
+ - 0x00
+ - 0x00
+ - 0x20
+ - 0xF6
+ - 0xBF
+ - 0xEF
+ - 0xFE
+ - 0x7F
+ - 0x00
+ - 0x00
+ - 0x01
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x10
+ - 0xF6
+ - 0xBF
+ - 0xEF
+ - 0xFE
+ - 0x7F
+ - 0x00
+ - 0x00
+ - 0xF0
+ - 0xF5
+ - 0xBF
+ - 0xEF
+ - 0xFE
+ - 0x7F
+ - 0x00
+ - 0x00
+ - 0xF0
+ - 0xF5
+ - 0xBF
+ - 0xEF
+ - 0xFE
+ - 0x7F
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0xFF
+ - 0xFF
+ - 0xFF
+ - 0xFF
+ - 0xC8
+ - 0xB0
+ - 0x70
+ - 0xA7
+ - 0xFF
+ - 0x7F
+ - 0x00
+ - 0x00
+ - 0xD0
+ - 0xB0
+ - 0x70
+ - 0xA7
+ - 0xFF
+ - 0x7F
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0xA0
+ - 0x0F
+ - 0x00
+ - 0x00
+ - 0x01
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x46
+ - 0x02
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x2B
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x06
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x04
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x03
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x00
+ - 0x10
+ - 0x00
+ - 0x02
+ - 0xA7
+ - 0xFF
+ - 0x7F
+ - 0x00
+ - 0x00
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4294967296
+ vmsize: 4096
+ fileoff: 8192
+ filesize: 4096
+ maxprot: 5
+ initprot: 5
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4294971392
+ vmsize: 4096
+ fileoff: 12288
+ filesize: 4096
+ maxprot: 1
+ initprot: 1
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4294975488
+ vmsize: 307200
+ fileoff: 16384
+ filesize: 307200
+ maxprot: 5
+ initprot: 5
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4295282688
+ vmsize: 12288
+ fileoff: 323584
+ filesize: 12288
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4295294976
+ vmsize: 217088
+ fileoff: 335872
+ filesize: 217088
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4295512064
+ vmsize: 110592
+ fileoff: 552960
+ filesize: 110592
+ maxprot: 1
+ initprot: 1
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4295622656
+ vmsize: 8192
+ fileoff: 663552
+ filesize: 8192
+ maxprot: 1
+ initprot: 1
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4295630848
+ vmsize: 8192
+ fileoff: 671744
+ filesize: 8192
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4295639040
+ vmsize: 4096
+ fileoff: 679936
+ filesize: 4096
+ maxprot: 1
+ initprot: 1
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4295643136
+ vmsize: 4096
+ fileoff: 684032
+ filesize: 4096
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4295651328
+ vmsize: 24576
+ fileoff: 688128
+ filesize: 24576
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4295684096
+ vmsize: 24576
+ fileoff: 712704
+ filesize: 24576
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4295712768
+ vmsize: 4096
+ fileoff: 737280
+ filesize: 4096
+ maxprot: 1
+ initprot: 1
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4295716864
+ vmsize: 8192
+ fileoff: 741376
+ filesize: 8192
+ maxprot: 1
+ initprot: 1
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4296015872
+ vmsize: 1048576
+ fileoff: 749568
+ filesize: 1048576
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4297064448
+ vmsize: 1048576
+ fileoff: 1798144
+ filesize: 1048576
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4298113024
+ vmsize: 1048576
+ fileoff: 2846720
+ filesize: 1048576
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 4303355904
+ vmsize: 8388608
+ fileoff: 3895296
+ filesize: 8388608
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140732912369664
+ vmsize: 8388608
+ fileoff: 12283904
+ filesize: 8388608
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140734252867584
+ vmsize: 811999232
+ fileoff: 20672512
+ filesize: 811999232
+ maxprot: 5
+ initprot: 5
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735863480320
+ vmsize: 20553728
+ fileoff: 832671744
+ filesize: 20553728
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735884034048
+ vmsize: 2097152
+ fileoff: 853225472
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735886131200
+ vmsize: 2097152
+ fileoff: 855322624
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735888228352
+ vmsize: 2097152
+ fileoff: 857419776
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735890325504
+ vmsize: 2097152
+ fileoff: 859516928
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735892422656
+ vmsize: 2097152
+ fileoff: 861614080
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735894519808
+ vmsize: 2097152
+ fileoff: 863711232
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735896616960
+ vmsize: 2097152
+ fileoff: 865808384
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735898714112
+ vmsize: 2097152
+ fileoff: 867905536
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735900811264
+ vmsize: 2097152
+ fileoff: 870002688
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735902908416
+ vmsize: 10485760
+ fileoff: 872099840
+ filesize: 10485760
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735913394176
+ vmsize: 4194304
+ fileoff: 882585600
+ filesize: 4194304
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735917588480
+ vmsize: 2097152
+ fileoff: 886779904
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735919685632
+ vmsize: 2097152
+ fileoff: 888877056
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735921782784
+ vmsize: 4194304
+ fileoff: 890974208
+ filesize: 4194304
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735925977088
+ vmsize: 4194304
+ fileoff: 895168512
+ filesize: 4194304
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735930171392
+ vmsize: 6291456
+ fileoff: 899362816
+ filesize: 6291456
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735936462848
+ vmsize: 2097152
+ fileoff: 905654272
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735938560000
+ vmsize: 2097152
+ fileoff: 907751424
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735940657152
+ vmsize: 2097152
+ fileoff: 909848576
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735942754304
+ vmsize: 2097152
+ fileoff: 911945728
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735944851456
+ vmsize: 6291456
+ fileoff: 914042880
+ filesize: 6291456
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735951142912
+ vmsize: 2097152
+ fileoff: 920334336
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735953240064
+ vmsize: 4194304
+ fileoff: 922431488
+ filesize: 4194304
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735957434368
+ vmsize: 2097152
+ fileoff: 926625792
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735959531520
+ vmsize: 2097152
+ fileoff: 928722944
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735961628672
+ vmsize: 20971520
+ fileoff: 930820096
+ filesize: 20971520
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735982600192
+ vmsize: 6291456
+ fileoff: 951791616
+ filesize: 6291456
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735988891648
+ vmsize: 2097152
+ fileoff: 958083072
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735990988800
+ vmsize: 2097152
+ fileoff: 960180224
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735993085952
+ vmsize: 2097152
+ fileoff: 962277376
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735995183104
+ vmsize: 2097152
+ fileoff: 964374528
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735997280256
+ vmsize: 2097152
+ fileoff: 966471680
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140735999377408
+ vmsize: 2097152
+ fileoff: 968568832
+ filesize: 2097152
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140736001474560
+ vmsize: 1302528
+ fileoff: 970665984
+ filesize: 1302528
+ maxprot: 3
+ initprot: 3
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140736937222144
+ vmsize: 219267072
+ fileoff: 971968512
+ filesize: 219267072
+ maxprot: 1
+ initprot: 1
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140737486258176
+ vmsize: 4096
+ fileoff: 1191235584
+ filesize: 4096
+ maxprot: 1
+ initprot: 1
+ nsects: 0
+ flags: 0
+ - cmd: LC_SEGMENT_64
+ cmdsize: 72
+ segname: ''
+ vmaddr: 140737487028224
+ vmsize: 4096
+ fileoff: 1191239680
+ filesize: 4096
+ maxprot: 5
+ initprot: 5
+ nsects: 0
+ flags: 0
+...
Modified: lldb/trunk/source/Target/Process.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Process.cpp?rev=327501&r1=327500&r2=327501&view=diff
==============================================================================
--- lldb/trunk/source/Target/Process.cpp (original)
+++ lldb/trunk/source/Target/Process.cpp Wed Mar 14 04:50:10 2018
@@ -2857,10 +2857,10 @@ Status Process::LoadCore() {
// state.
SetPrivateState(eStateStopped);
- // Wait indefinitely for a stopped event since we just posted one above...
+ // Wait for a stopped event since we just posted one above...
lldb::EventSP event_sp;
- listener_sp->GetEvent(event_sp, llvm::None);
- StateType state = ProcessEventData::GetStateFromEvent(event_sp.get());
+ StateType state =
+ WaitForProcessToStop(seconds(10), &event_sp, true, listener_sp);
if (!StateIsStoppedState(state, false)) {
Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_PROCESS));
More information about the lldb-commits
mailing list