Merge "Updates gdbclient.py for lldb"
This commit is contained in:
@@ -362,16 +362,8 @@ def start_gdb(gdb_path, gdb_commands, gdb_flags=None, lldb=False):
|
|||||||
creationflags = 0
|
creationflags = 0
|
||||||
if sys.platform.startswith("win"):
|
if sys.platform.startswith("win"):
|
||||||
creationflags = subprocess.CREATE_NEW_CONSOLE
|
creationflags = subprocess.CREATE_NEW_CONSOLE
|
||||||
env = dict(os.environ)
|
|
||||||
if lldb:
|
|
||||||
bin_dir = os.path.dirname(gdb_path)
|
|
||||||
if sys.platform.startswith("win"):
|
|
||||||
python_path = os.path.join(bin_dir, "../lib/site-packages")
|
|
||||||
else:
|
|
||||||
python_path = os.path.join(bin_dir, "../lib/python2.7/site-packages")
|
|
||||||
env['PYTHONPATH'] = os.path.normpath(python_path)
|
|
||||||
|
|
||||||
gdb_process = subprocess.Popen(gdb_args, creationflags=creationflags, env=env)
|
gdb_process = subprocess.Popen(gdb_args, creationflags=creationflags)
|
||||||
while gdb_process.returncode is None:
|
while gdb_process.returncode is None:
|
||||||
try:
|
try:
|
||||||
gdb_process.communicate()
|
gdb_process.communicate()
|
||||||
|
|||||||
@@ -337,12 +337,13 @@ end
|
|||||||
return gdb_commands
|
return gdb_commands
|
||||||
|
|
||||||
|
|
||||||
def generate_lldb_script(sysroot, binary_name, port, solib_search_path):
|
def generate_lldb_script(root, sysroot, binary_name, port, solib_search_path):
|
||||||
commands = []
|
commands = []
|
||||||
commands.append(
|
commands.append(
|
||||||
'settings append target.exec-search-paths {}'.format(' '.join(solib_search_path)))
|
'settings append target.exec-search-paths {}'.format(' '.join(solib_search_path)))
|
||||||
|
|
||||||
commands.append('target create {}'.format(binary_name))
|
commands.append('target create {}'.format(binary_name))
|
||||||
|
commands.append("settings set target.source-map '' '{}'".format(root))
|
||||||
commands.append('target modules search-paths add / {}/'.format(sysroot))
|
commands.append('target modules search-paths add / {}/'.format(sysroot))
|
||||||
commands.append('gdb-remote {}'.format(port))
|
commands.append('gdb-remote {}'.format(port))
|
||||||
return '\n'.join(commands)
|
return '\n'.join(commands)
|
||||||
@@ -376,7 +377,7 @@ def generate_setup_script(debugger_path, sysroot, linker_search_dir, binary_file
|
|||||||
return generate_gdb_script(root, sysroot, binary_file.name, port, dalvik_gdb_script, solib_search_path, connect_timeout)
|
return generate_gdb_script(root, sysroot, binary_file.name, port, dalvik_gdb_script, solib_search_path, connect_timeout)
|
||||||
elif debugger == 'lldb':
|
elif debugger == 'lldb':
|
||||||
return generate_lldb_script(
|
return generate_lldb_script(
|
||||||
sysroot, binary_file.name, port, solib_search_path)
|
root, sysroot, binary_file.name, port, solib_search_path)
|
||||||
else:
|
else:
|
||||||
raise Exception("Unknown debugger type " + debugger)
|
raise Exception("Unknown debugger type " + debugger)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user