[Lldb-commits] [PATCH] Delete ScriptInterpreterObject
Zachary Turner
zturner at google.com
Mon Mar 16 16:14:08 PDT 2015
Hi Greg,
I think I've fixed the remainder of the issues. The problem this time was that the RegisterData defined in operating_system.py is a string with embedded nulls, and all of PythonString's getters and setters were not written to correctly handle this. So I changed all of the const char*'s here to be StringRefs (since we specifically need to support strings with embedded nulls). Here's a run on Linux with my patch applied.
zturner at zturner-goobuntu:/usr/local/google_ssd/src/llvm/build/ninja$ bin/lldb
(lldb) file a.out
Current executable set to 'a.out' (x86_64).
(lldb) break set -n main
Breakpoint 1: where = a.out`main, address = 0x00000000004004f0
(lldb) run
Process 1681 launched: '/usr/local/google_ssd/src/llvm/build/ninja/a.out' (x86_64)
Process 1681 stopped
* thread #1: tid = 1681, 0x00000000004004f0 a.out`main, name = 'a.out', stop reason = breakpoint 1.1
frame #0: 0x00000000004004f0 a.out`main
a.out`main:
-> 0x4004f0 <+0>: int3
0x4004f1 <+1>: movq %rsp, %rbp
0x4004f4 <+4>: movl $0x0, %eax
0x4004f9 <+9>: movl $0x0, -0x4(%rbp)
(lldb) settings set target.process.python-os-plugin-path /usr/local/google_ssd/src/llvm/tools/lldb/examples/python/operating_system.py
(lldb) thread list
Process 1681 stopped
* thread #1: tid = 1681, 0x00000000004004f0 a.out`main, name = 'a.out', stop reason = breakpoint 1.1
thread #2: tid = 4581298449, 0x0000000000000011, name = 'one', queue = 'queue1'
thread #3: tid = 9162596898, 0x0000000000000075, name = 'two', queue = 'queue2'
thread #4: tid = 13743895347, name = 'three', queue = 'queue3'
(lldb)
Note this still doesn't work on Windows because operating_system.py checks the triple and only returns valid information for x86-64, which I haven't added support for yet. Also, I ran the new test on Linux and it passes.
http://reviews.llvm.org/D8128
Files:
include/lldb/Core/StructuredData.h
include/lldb/DataFormatters/TypeSummary.h
include/lldb/DataFormatters/TypeSynthetic.h
include/lldb/Interpreter/PythonDataObjects.h
include/lldb/Interpreter/ScriptInterpreter.h
include/lldb/Interpreter/ScriptInterpreterPython.h
include/lldb/Target/ThreadPlanPython.h
include/lldb/lldb-forward.h
source/Commands/CommandObjectCommands.cpp
source/Core/StructuredData.cpp
source/DataFormatters/TypeSynthetic.cpp
source/Interpreter/PythonDataObjects.cpp
source/Interpreter/ScriptInterpreterPython.cpp
source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
source/Plugins/Process/Utility/DynamicRegisterInfo.h
source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
source/Target/ThreadPlanPython.cpp
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8128.22062.patch
Type: text/x-patch
Size: 135518 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150316/dc46621c/attachment.bin>
More information about the lldb-commits
mailing list