aboutsummaryrefslogtreecommitdiff
path: root/lldb/scripts/Python
AgeCommit message (Collapse)AuthorFilesLines
2015-04-28Add language option in -gdb-show command (MI)Ilia K2-0/+4
Summary: Add language option in -gdb-show command + test: ``` $ bin/lldb-mi ~/p/hello [...] b main [...] r [...] (gdb) -gdb-show language ^done,value="c++" (gdb) quit ``` Test Plan: ./dotest.py -v --executable $BUILDDIR/bin/lldb tools/lldb-mi/ Reviewers: abidh, granata.enrico, jingham, clayborg Reviewed By: clayborg Subscribers: lldb-commits, jingham, granata.enrico, clayborg, abidh Differential Revision: http://reviews.llvm.org/D9279 llvm-svn: 235983
2015-04-26Add SBLaunchInfo in include/lldb/API/SBDefines.h and fix spacing in ↵Ilia K1-2/+2
scripts/Python/buildSwigPython.py llvm-svn: 235819
2015-04-24Start to share SWIG interface files between languages.Bruce Mitchener59-9837/+100
Summary: Move scripts/Python/interface to scripts/interface so that we can start making iterative improvements towards sharing the interface files between multiple languages (each of which would have their own directory as now). Test Plan: Build and see. Reviewers: zturner, emaste, clayborg Reviewed By: clayborg Subscribers: mjsabby, lldb-commits Differential Revision: http://reviews.llvm.org/D9212 llvm-svn: 235676
2015-04-23Factor resolution of abbreviations and aliases so that they can be tested ↵Adrian McCarthy1-0/+3
directly. http://reviews.llvm.org/D9033 llvm-svn: 235633
2015-04-22Use the debugginess of the python interpreter when symlinking _lldb.pyd.Zachary Turner1-2/+4
Previously we would pass an argument to finishSwigWrapperClasses.py which specified whether this was a debug or a release build. But sometimes CMAKE_BUILD_TYPE would not be set to anything, causing this argument to be empty when passed in. The only purpose of this argument was to determine whether or not to append _d to the extension module when creating the symlink. This is only necessary when doing a debug build of LLDB on Windows, which implies a debug interpreter, so we replace this with a check to see if the running interpreter is a debug one, and append _d if so. llvm-svn: 235559
2015-04-21Add properties to SBExecutionContext to access the several entities it ↵Enrico Granata1-0/+15
stores in a more Pythonic fashion llvm-svn: 235447
2015-04-03Don't use literal slashes when concatenating paths in Python.Zachary Turner1-38/+34
This patch fixes the swig generation scripts to use os.path.join instead, which produces correctly normalized paths for platforms that don't use the standard forward slash separator. llvm-svn: 234030
2015-03-23Turn off 'quit' confirmation in lldb-miIlia K1-0/+6
Summary: # Turn off interpreter.prompt-on-quit on startup (MI) # Add CommandInterpreter::SetPromptOnQuit # Add SBCommandInterpreter::GetPromptOnQuit/SetPromptOnQuit All tests pass on OS X. Test Plan: ``` -file-exec-and-symbols ~/p/hello -break-insert -f main -exec-run -interpreter-exec console quit ``` Reviewers: abidh, clayborg Reviewed By: abidh, clayborg Subscribers: lldb-commits, clayborg, abidh Differential Revision: http://reviews.llvm.org/D8444 llvm-svn: 233034
2015-03-23Fix missing interfaces to scripts/Python/interface after r229110, r231858 ↵Ilia K3-1/+28
and r232891 This includes: # SBCommandInterpreter::EventIsCommandInterpreterEvent # SBModule::GetSymbolFileSpec/GetObjectFileHeaderAddress # SBTarget::EventIsTargetEvent/GetTargetFromEvent/GetNumModulesFromEvent/GetModuleAtIndexFromEvent/GetLaunchInfo/SetLaunchInfo llvm-svn: 233029
2015-03-23Remove non-standard Environment header sectionEd Maste2-10/+0
llvm-svn: 232973
2015-03-23Use .so library extension by default if platform is not Windows or DarwinEd Maste1-3/+3
llvm-svn: 232970
2015-03-23Fix whitespace in finishSwigWrapperClasses.pyEd Maste1-659/+659
- replace hard tabs with 4-space indents - delete EOL whitespace llvm-svn: 232969
2015-03-17Fix the clang -Werror build & make the unit tests link under LinuxDavid Blaikie1-16/+10
The order of libraries passed to the linker didn't work under linux (you need the llvm libraries first, then the lldb libraries). I modelled this after clang's setup here. Seemed simple enough to just be consistent. llvm-svn: 232461
2015-03-16Handle PyLong return values in LLDBSwigPython_CalculateNumChildren.Siva Chandra1-4/+24
Summary: Also, change its return type to size_t to match the return types of its callers. With this change, std::vector and std::list data formatter tests pass on Linux (when using libstdc++) with clang as well as with gcc. These tests have also been enabled in this patch. Test Plan: dotest.py -p <TestDataFormatterStdVector|TestDataFormatterStdList> Reviewers: vharron, clayborg Reviewed By: clayborg Subscribers: zturner, lldb-commits Differential Revision: http://reviews.llvm.org/D8337 llvm-svn: 232399
2015-03-14Strip trailing whitespace from python-wrapper.swigEd Maste1-158/+158
(To test the dependency added in r232256.) llvm-svn: 232257
2015-03-13Bulk of the infrastructure work to allow script commands to be backed by ↵Enrico Granata1-0/+78
object instances in addition to free functions This works by creating a command backed by a class whose interface should - at least - include def __init__(self, debugger, session_dict) def __call__(self, args, return_obj, exe_ctx) What works: - adding a command via command script add --class - calling a thusly created command What is missing: - support for custom help - test cases The missing parts will follow over the next couple of days This is an improvement over the existing system as: a) it provides an obvious location for commands to provide help strings (i.e. methods) b) it allows commands to store state in an obvious fashion c) it allows us to easily add features to script commands over time (option parsing and subcommands registration, I am looking at you :-) llvm-svn: 232136
2015-02-26[swig] Fix some typos in the build scripts.Bruce Mitchener2-3/+3
Reviewers: zturner, ki.stfu Reviewed By: zturner, ki.stfu Subscribers: ki.stfu, lldb-commits Differential Revision: http://reviews.llvm.org/D7912 llvm-svn: 230706
2015-02-26[swig] Generate bindings for SBDebugger::*UseColor().Bruce Mitchener1-0/+6
Summary: These functions were added in 2013, but not added to the SWIG bindings. Reviewers: ki.stfu, clayborg Reviewed By: ki.stfu, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D7909 llvm-svn: 230646
2015-02-20Rename the "glob arguments" feature to "shell expand arguments"Enrico Granata1-2/+2
This should not bring any feature change, except changing names of things here and there llvm-svn: 230077
2015-02-18Fix make_symlink in case when symlink already exists (after r229517)Ilia K1-0/+2
llvm-svn: 229682
2015-02-18Fix typo in make_symlink after r229517. It fixes symlinks on a UNIX style ↵Ilia K1-1/+0
platform. llvm-svn: 229674
2015-02-17Fix argdumper build in cmake (OS X) after r228636Ilia K2-127/+210
Previos version of this patch (see r229148) contained two errors: * make_symlink_darwin_debug passes 2 arguments into make_symlink, but it required 4 arguments (was fixed by r229159) * make_symlink doesn't work on OS X As a quick fix, the r229148 and the r229159 were reverted. Now these errors are fixed. Summary: This patch fixes the following tests on OS X: ``` FAIL: test_with_dsym (TestLaunchWithGlob.LaunchWithGlobTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/lldbtest.py", line 456, in wrapper return func(self, *args, **kwargs) File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/functionalities/launch_with_glob/TestLaunchWithGlob.py", line 21, in test_with_dsym self.do_test () File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/functionalities/launch_with_glob/TestLaunchWithGlob.py", line 42, in do_test self.runCmd("process launch -G true -w %s -- fi*.tx?" % (os.getcwd())) File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/lldbtest.py", line 1953, in runCmd msg if msg else CMD_MSG(cmd)) AssertionError: False is not True : Command 'process launch -G true -w /Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/functionalities/launch_with_glob -- fi*.tx?' returns successfully Config=x86_64-clang ====================================================================== FAIL: test_with_dwarf (TestLaunchWithGlob.LaunchWithGlobTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/lldbtest.py", line 473, in wrapper return func(self, *args, **kwargs) File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/functionalities/launch_with_glob/TestLaunchWithGlob.py", line 28, in test_with_dwarf self.do_test () File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/functionalities/launch_with_glob/TestLaunchWithGlob.py", line 42, in do_test self.runCmd("process launch -G true -w %s -- fi*.tx?" % (os.getcwd())) File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/lldbtest.py", line 1953, in runCmd msg if msg else CMD_MSG(cmd)) AssertionError: False is not True : Command 'process launch -G true -w /Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/functionalities/launch_with_glob -- fi*.tx?' returns successfully ``` Reviewers: epertoso, emaste, abidh, clayborg, zturner Reviewed By: clayborg Subscribers: abidh, lldb-commits, emaste, epertoso, zturner, clayborg Differential Revision: http://reviews.llvm.org/D7550 llvm-svn: 229517
2015-02-17Revert "Revert "I had recently added a new SBFrame::GetVariables() overload ↵Zachary Turner3-6/+64
with yet another bool argument"" Reverting this commit led to other failures which I did not see at first. This turned out to be an easy problem to fix, so I added SBVariablesOptions.cpp to the CMakeLists.txt. In the future please try to make sure new files are added to CMake. llvm-svn: 229516
2015-02-17Revert "I had recently added a new SBFrame::GetVariables() overload with yet ↵Zachary Turner3-64/+6
another bool argument" This reverts commit r228975. It was causing link errors on the Windows bots, since last Thursday. http://lab.llvm.org:8011/builders/lldb-x86-win7-msvc/builds/725 Conflicts: lldb.xcodeproj/project.pbxproj llvm-svn: 229514
2015-02-16Extract SBAttachInfo into own set of files - SBAttachInfo.h, ↵Oleksiy Vyalov4-99/+115
SBAttachInfo.cpp and SBAttachInfo.i. llvm-svn: 229346
2015-02-15os.remove shouldn't fail, if file doesn't existIsmail Pazarbasi1-2/+14
Summary: os.remove might throw an exception (of type OSError), if given file doesn't exist. Catch the exception, and ignore it //iff// errno is ENOENT. Rethrow the exception, if errno is not ENOENT. Reviewers: emaste Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6362 llvm-svn: 229334
2015-02-13Fix build: revert r229148 "Fix argdumper build in cmake (OS X) after ↵Ilia K2-194/+123
r228636" and r229159 "Fix build: make_symlink_darwin_debug passes 2 arguments into make_symlink, but it requires 4 arguments" llvm-svn: 229166
2015-02-13Fix build: make_symlink_darwin_debug passes 2 arguments into make_symlink, ↵Ilia K1-1/+1
but it requires 4 arguments llvm-svn: 229159
2015-02-13Fix argdumper build in cmake (OS X) after r228636Ilia K2-123/+194
Summary: This patch fixes the following tests on OS X: ``` FAIL: test_with_dsym (TestLaunchWithGlob.LaunchWithGlobTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/lldbtest.py", line 456, in wrapper return func(self, *args, **kwargs) File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/functionalities/launch_with_glob/TestLaunchWithGlob.py", line 21, in test_with_dsym self.do_test () File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/functionalities/launch_with_glob/TestLaunchWithGlob.py", line 42, in do_test self.runCmd("process launch -G true -w %s -- fi*.tx?" % (os.getcwd())) File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/lldbtest.py", line 1953, in runCmd msg if msg else CMD_MSG(cmd)) AssertionError: False is not True : Command 'process launch -G true -w /Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/functionalities/launch_with_glob -- fi*.tx?' returns successfully Config=x86_64-clang ====================================================================== FAIL: test_with_dwarf (TestLaunchWithGlob.LaunchWithGlobTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/lldbtest.py", line 473, in wrapper return func(self, *args, **kwargs) File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/functionalities/launch_with_glob/TestLaunchWithGlob.py", line 28, in test_with_dwarf self.do_test () File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/functionalities/launch_with_glob/TestLaunchWithGlob.py", line 42, in do_test self.runCmd("process launch -G true -w %s -- fi*.tx?" % (os.getcwd())) File "/Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/lldbtest.py", line 1953, in runCmd msg if msg else CMD_MSG(cmd)) AssertionError: False is not True : Command 'process launch -G true -w /Users/testuser/build/workspace/LLDB_master_release_OSX/llvm_master/tools/lldb/test/functionalities/launch_with_glob -- fi*.tx?' returns successfully ``` Reviewers: epertoso, emaste, abidh, clayborg, zturner Reviewed By: clayborg Subscribers: abidh, lldb-commits, emaste, epertoso, zturner, clayborg Differential Revision: http://reviews.llvm.org/D7550 llvm-svn: 229148
2015-02-13Disable a warning for the python modules as the python C API headersChandler Carruth1-0/+7
trigger this warning. With this, 'ninja' succeeds without warnings for me on Linux. llvm-svn: 229096
2015-02-12I had recently added a new SBFrame::GetVariables() overload with yet another ↵Enrico Granata3-6/+64
bool argument We talked about it internally - and came to the conclusion that it's time to have an options class This commit adds an SBVariablesOptions class and goes through all the required dance llvm-svn: 228975
2015-02-12Add an -A option to "break set -p" to search all files for matches. Also ↵Jim Ingham1-0/+3
add the version of SBTarget::BreakpointCreateBySourceRegex that takes file spec lists to the Python interface, and add a test for this. <rdar://problem/19805037> llvm-svn: 228938
2015-02-11Introduce the notion of "runtime support values"Enrico Granata2-0/+11
A runtime support value is a ValueObject whose only purpose is to support some language runtime's operation, but it does not directly provide any user-visible benefit As such, unless the user is working on the runtime support, it is mostly safe for them not to see such a value when debugging It is a language runtime's job to check whether a ValueObject is a support value, and that - in conjunction with a target setting - is used by frame variable and target variable SBFrame::GetVariables gets a new overload with yet another flag to dictate whether to return those support values to the caller - that which defaults to the setting's value rdar://problem/15539930 llvm-svn: 228791
2015-02-10Fix the LLDB build under Debian KfreebsdSylvestre Ledru1-2/+2
Summary: I don't know if there is a better way for the change in source/Host/freebsd/ThisThread.cpp Reviewers: emaste Subscribers: hansw, emaste, lldb-commits Differential Revision: http://reviews.llvm.org/D7441 llvm-svn: 228710
2015-02-10And make the globbing behavior available via the SB APIEnrico Granata1-0/+6
llvm-svn: 228660
2015-02-04Extend SBPlatform with capability to launch/terminate a process remotely. ↵Oleksiy Vyalov5-111/+136
Integrate this change into test framework in order to spawn processes on a remote target. http://reviews.llvm.org/D7263 llvm-svn: 228230
2015-02-03Added remote-build.py and wired it into Xcode for Linux and MacOSX+Linux builds.Chaoren Lin1-0/+300
llvm-svn: 227908
2015-01-28Add logic to ClangASTType and SBType to discover information about vector typesEnrico Granata1-0/+6
llvm-svn: 227383
2015-01-26Fix darwin-debug build in cmake (OS X)Zachary Turner2-2/+77
This patch fixes test_launch_in_terminal test which doesn't work in OS X since the moment as it was added in r225284. The test fails because Target::Launch returns the following error: "the darwin-debug executable doesn't exist at <output_dir>/lib/python2.7/site-packages/lldb/darwin-debug'". Patch by Ilia K Differential Revision: http://reviews.llvm.org/D7102 llvm-svn: 227096
2015-01-23Fix CMake build - add readline dependency on ${PYTHON_LIBRARY}.Oleksiy Vyalov1-0/+2
llvm-svn: 226933
2014-12-29[cmake/multilib] Teach LLDB to respect the multlib LLVM_LIBDIR_SUFFIXChandler Carruth1-2/+2
variable (now provided both by the normal parent LLVM CMake files and by the LLVMConfig.cmake file used by the standalone build). This allows LLDB to build into and install into correctly suffixed libdirs. This is especially significant for LLDB because the python extension building done by CMake directly uses multilib suffixes when the host OS does, and the host OS will not always look back and forth between them. As a consequence, before LLVM, Clang, and LLDB (and every other subproject) had support for using LLVM_LIBDIR_SUFFIX, you couldn't build or install LLDB on a multilib system with its python extensions enabled. With this patch (on top of all the others I have submitted throughout the project), I'm finally able to build and install LLDB on my system with Python support enabled. I'm also able to actually run the LLDB test suite, etc. Now, a *huge* number of the tests still fail on my Linux system, but hey, actually running them and them testing the debugger is a huge step forward. =D llvm-svn: 224930
2014-12-17Provide CreateValueFromData,Expression at the SBTarget level as well as the ↵Enrico Granata1-0/+6
SBValue level; and also make all the implenentations agree on using the matching ValueObject::Create instead of doing code copypastas llvm-svn: 224460
2014-12-16Add the ability to tag one or more breakpoints with a name. TheseJim Ingham1-0/+12
names can then be used in place of breakpoint id's or breakpoint id ranges in all the commands that operate on breakpoints. <rdar://problem/10103959> llvm-svn: 224392
2014-12-15Provide a SBFrame.register/.reg helper on the Python side of SBFrame to vend ↵Enrico Granata1-0/+24
a flattened view of registers Our actual view of registers is a set of register sets, each one of which contains a subset of the actual registers This makes trivial scripting operations tedious ("I just want to read r7!") This helper allows things like: print lldb.frame.reg["r7"] Fixes rdar://19185662 llvm-svn: 224275
2014-12-08Add the ability for an SBValue to create a persisted version of itself.Enrico Granata1-0/+3
Such a persisted version is equivalent to evaluating the value via the expression evaluator, and holding on to the $n result of the expression, except this API can be used on SBValues that do not obviously come from an expression (e.g. are the result of a memory lookup) Expose this via SBValue::Persist() in our public API layer, and ValueObject::Persist() in the lldb_private layer Includes testcase Fixes rdar://19136664 llvm-svn: 223711
2014-11-22Enable Python summaries to use custom SBTypeSummaryOptions if the user is so ↵Enrico Granata2-1/+17
inclined. Updates to the webdoc will follow llvm-svn: 222593
2014-11-22Fix mispelled 'ling' Python property to be 'line' inJason Molenda2-2/+2
SBLineEntry and SBDeclaration. Patch from Chris Willmore. <rdar://problem/19054323> llvm-svn: 222592
2014-11-21Per off-list feedback, this API returns the *first* value with a given name, ↵Enrico Granata1-1/+1
not the *only* one. Rename it to reflect that llvm-svn: 222582
2014-11-21Add an API on SBValueList to find the first value with a given name stored ↵Enrico Granata1-0/+4
in the list llvm-svn: 222576
2014-11-18Shuffle APIs around a little bit, so that if you pass custom summary ↵Enrico Granata1-1/+2
options, we don't end up caching the summary hence obtained. You may want to obtain an uncapped summary, but this should not be reflected in the summary we cache. The drawback is that we don't cache as aggressively as we could, but at least you get to have different summaries with different options without having to reset formatters or the SBValue at each step llvm-svn: 222280