summaryrefslogtreecommitdiffstats
path: root/lldb/source/Commands
Commit message (Collapse)AuthorAgeFilesLines
...
* Replace accidental DOS (and mixed) line endings in a few text filesDimitry Andric2016-01-111-41/+41
| | | | | | | | | | | | | | Summary: Similar to rL256704 and rL256707, fix a few text files which were accidentally checked in with DOS line endings, or mixed line endings. Reviewers: jingham, emaste Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D16027 llvm-svn: 257361
* Fix a glitch in the Driver's batch mode when used with "attach". Jim Ingham2016-01-081-0/+1
| | | | | | | | | | | | | | Batch mode is supposed to stop execution and return control to the user when an exceptional stop occurs (crash, signal or instrumentation). But attach always stops with a SIGSTOP on OSX (maybe on Linux too?) which would short circuit the rest of the commands given. This change allows a command result object to indicate that it expected to leave the process stopped with an exceptional stop reason, and it is okay for batch mode to keep going. <rdar://problem/22243143> llvm-svn: 257120
* Add support for "source info" and use it to fix MI's -symbol-list-lines.Dawn Perchik2016-01-052-49/+627
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support the command 'source info' as follows: (lldb) help source info Display source line information (as specified) based on the current executable's debug info. Syntax: source info <cmd-options> Command Options Usage: source info [-c <count>] [-s <shlib-name>] [-f <filename>] [-l <linenum>] [-e <linenum>] source info [-c <count>] [-s <shlib-name>] [-n <symbol>] source info [-c <count>] [-a <address-expression>] -a <address-expression> ( --address <address-expression> ) Lookup the address and display the source information for the corresponding file and line. -c <count> ( --count <count> ) The number of line entries to display. -e <linenum> ( --end-line <linenum> ) The line number at which to stop displaying lines. -f <filename> ( --file <filename> ) The file from which to display source. -l <linenum> ( --line <linenum> ) The line number at which to start the displaying lines. -n <symbol> ( --name <symbol> ) The name of a function whose source to display. -s <shlib-name> ( --shlib <shlib-name> ) Look up the source in the given module or shared library (can be specified more than once). For example: (lldb) source info --file x.h Lines for file x.h in compilation unit x.cpp in `x [0x0000000100000d00-0x0000000100000d10): /Users/dawn/tmp/./x.h:10 [0x0000000100000d10-0x0000000100000d1b): /Users/dawn/tmp/./x.h:10 The new options are used to fix the MI command: -symbol-list-lines <file> which didn't work for header files because it called: target modules dump line-table <file> which only dumps line tables for a compilation unit. The patch also fixes a bug in the error reporting when no files were supplied to the command. Previously you'd get: (lldb) target modules dump line-table error: Syntax: error: no source filenames matched any command arguments Now you get: error: file option must be specified. Reviewed by: clayborg, jingham, ki.stfu Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15593 llvm-svn: 256863
* [Commands] Get rid of unused typedefs.Davide Italiano2016-01-041-5/+0
| | | | llvm-svn: 256766
* Improve error handling for `frame select` command when there are too many ↵Adrian McCarthy2015-12-221-1/+3
| | | | | | | | | | arguments. Bug: https://llvm.org/bugs/show_bug.cgi?id=25847 It now gives a more specific error message and then returns instead of trying to select the wrong frame. llvm-svn: 256251
* Enable the 'type X list' formatters commands to list formatters in language ↵Enrico Granata2015-12-151-34/+56
| | | | | | categories llvm-svn: 255687
* When constructing an address range to "step" or "next" through,Jason Molenda2015-12-151-2/+2
| | | | | | | | | | | | | | find the largest address range (possibly combining multiple LineEntry's for this line number) that is contiguous. This allows lldb's fast-step stepping algorithm to potentially run for a longer address range than if we have to stop at every LineEntry indicating a subexpression in the source line. http://reviews.llvm.org/D15407 <rdar://problem/23270882> llvm-svn: 255590
* Modify "platform connect" to connect to processes as wellTamas Berghammer2015-12-082-63/+38
| | | | | | | | | | | | | | | | | | | | | | | | The standard remote debugging workflow with gdb is to start the application on the remote host under gdbserver (e.g.: gdbserver :5039 a.out) and then connect to it with gdb. The same workflow is supported by debugserver/lldb-gdbserver with a very similar syntax but to access all features of lldb we need to be connected also to an lldb-platform instance running on the target. Before this change this had to be done manually with starting a separate lldb-platform on the target machine and then connecting to it with lldb before connecting to the process. This change modifies the behavior of "platform connect" with automatically connecting to the process instance if it was started by the remote platform. With this command replacing gdbserver in a gdb based worflow is usually as simple as replacing the command to execute gdbserver with executing lldb-platform. Differential revision: http://reviews.llvm.org/D14952 llvm-svn: 255016
* Add a new option to Platform::LoadImage to install the imageTamas Berghammer2015-12-081-8/+88
| | | | | | | | | | | | | | | | | | | | | This change introduce 3 different working mode for Platform::LoadImage depending on the file specs specified. * If only a remote file is specified then the remote file is loaded on the target (same behavior as before) * If only a local file is specified then the local file is installed to the current working directory and then loaded from there. * If both local and remote file is specified then the local file is installed to the specified location and then loaded from there. The same options are exposed on the SB API with a new method LoadImage method while the old signature presers its meaning. On the command line the installation of the shared library can be specified with the "--install" option of "process load". Differential revision: http://reviews.llvm.org/D15152 llvm-svn: 255014
* Fix "process load/unload" on androidTamas Berghammer2015-12-021-3/+4
| | | | | | | | | | | On android the symbols exposed by libdl (dlopen, dlclose, dlerror) prefixed by "__dl_". This change moves the handling of process load/unload to the platform object and override it for android to handle the special prefix. Differential revision: http://reviews.llvm.org/D11465 llvm-svn: 254504
* Enable saving of mini dumps with lldb process save-core.Adrian McCarthy2015-11-201-1/+1
| | | | | | | | Also adds SB API to save a core and tests that use it. Differential Revision: http://reviews.llvm.org/D14793 llvm-svn: 253734
* Revert "FOO"Adrian McCarthy2015-11-201-1/+1
| | | | | | | | Accidentally commited before I was done. This reverts commit 2ec2da4ee52780582d5e9c88b2e982a688fbdbe1. llvm-svn: 253685
* FOOAdrian McCarthy2015-11-201-1/+1
| | | | llvm-svn: 253684
* Fix up LLDB for a change in the way clang represents anonymous unions such ↵Enrico Granata2015-11-191-1/+2
| | | | | | that the 'frame variable' command can still find the members of such union as if they were top-level variables in the current scope llvm-svn: 253613
* Reapply r253423 and r253424 (which cleanup the data formatters iteration ↵Enrico Granata2015-11-181-779/+188
| | | | | | model, as well as the type X list commands), along with a change by Zachary Turner to bypass a MSVC bug with SFINAE llvm-svn: 253493
* Revert 2 commits breaking the MSVC buildTamas Berghammer2015-11-181-182/+779
| | | | | | | | | | Revert "Remove a few vestigial typedefs from the old world" This reverts commit 05872cda2a00fbd988c4fc761b1f87fe9edce224. Revert "Cleanup the type X list commands to use the new ForEach goodness" This reverts commit 85b1d83819a22cdc9ef12f58fd4fa92b473a4f81. llvm-svn: 253455
* Cleanup the type X list commands to use the new ForEach goodnessEnrico Granata2015-11-181-779/+182
| | | | llvm-svn: 253423
* Cleanup indentationEnrico Granata2015-11-171-2/+4
| | | | llvm-svn: 253383
* Cleanup the type X clear commands, so that one base class can implement all ↵Enrico Granata2015-11-171-366/+83
| | | | | | of them llvm-svn: 253381
* Add the ability (through the SB API & command line) to specify an addressJim Ingham2015-11-171-5/+33
| | | | | | | | breakpoint as "file address" so that the address breakpoint will track that module even if it gets loaded in a different place. Also fixed the Address breakpoint resolver so that it handles this tracking correctly. llvm-svn: 253308
* Uniquify all the type X delete commands via one common base classEnrico Granata2015-11-141-492/+71
| | | | | | This removes a lot of code, which is A Good Thing(TM) llvm-svn: 253140
* Some cleanup of the type X delete commandEnrico Granata2015-11-141-40/+16
| | | | llvm-svn: 253137
* The existing logic to loop over formatters is very pre-C++11, using void* ↵Enrico Granata2015-11-141-48/+26
| | | | | | | | | batons, and function pointers, and raw memory allocations instead of safer more modern constructs This is a first pass at a cleanup of that code, modernizing the "type X clear" commands, and providing the basic infrastructure I plan to use all over More cleanup will come over the next few days llvm-svn: 253125
* Fixes for uniformity in type clear and delete commandsEnrico Granata2015-11-141-8/+8
| | | | llvm-svn: 253113
* Minor cleanup to the type format list commandEnrico Granata2015-11-141-2/+2
| | | | llvm-svn: 253110
* Make the language specifier to "break set" actually filter the names by ↵Jim Ingham2015-11-061-1/+2
| | | | | | | | | | | | | their language. So for instance: break set -l c++ -r Name will only break on C++ symbols that match Name, not ObjC or plain C symbols. This also works for "break set -n" and there are SB API's to pass this as well. llvm-svn: 252356
* CommandObjectProxy needs to proxy GenerateHelpText as well asJim Ingham2015-11-051-0/+8
| | | | | | | | everything else. <rdar://problem/18383591> llvm-svn: 252122
* Fix TestMemoryRead after r252035Tamas Berghammer2015-11-041-1/+1
| | | | llvm-svn: 252065
* Option letter o was already in use; use an uppercase E insteadEnrico Granata2015-11-041-1/+1
| | | | llvm-svn: 252035
* Add a --offset option to memory read that allows one to specify, given a ↵Enrico Granata2015-10-291-2/+14
| | | | | | type, how many sizeof(type) bytes to speak before starting to read memory llvm-svn: 251668
* Add a --language (-l) option to the formatter delete commands in order to ↵Enrico Granata2015-10-291-25/+88
| | | | | | | | | allow removing formatters from language categories This is slightly harder to test because formatters cannot be added to language categories, so deletions are irreversible (in a debugger run) I plan to add a test case soon, but I need to think about the right approach to obtain one llvm-svn: 251660
* Added support to the expression command for dropping into the REPL at will.Sean Callanan2015-10-202-1/+68
| | | | | | | | "expr -r" does this. It also returns to a REPL if the LLDB command interpreter is neseted inside it, for example in cases where a REPL command resulted in a breakpoint being hit or a crash. llvm-svn: 250780
* Silence -Wqual-cast warnings from GCC 5.2Saleem Abdulrasool2015-10-181-4/+5
| | | | | | | | There were a number of const qualifiers being cast away which caused warnings. This cluttered the output hiding real errors. Silence them by explicit casting. NFC. llvm-svn: 250662
* Handle eFormatVectorOfFloat16Enrico Granata2015-10-161-0/+1
| | | | llvm-svn: 250581
* Resubmit: RenderScript command for printing allocation contents Ewan Crawford2015-10-161-0/+1
| | | | | | | | | Previous commit r250281 broke TestDataFormatterSmartArray.py Resolved in in this patch by adding the new enum eFormatVectorOfFloat16 to FormatManager. Differential Revision: http://reviews.llvm.org/D13730 llvm-svn: 250499
* Revert "RenderScript command for printing allocation contents"Pavel Labath2015-10-141-1/+0
| | | | | | This commit breaks TestDataFormatterSmartArray on all buildbots. llvm-svn: 250290
* Fix warning in CommandObjectMemoryTamas Berghammer2015-10-141-0/+1
| | | | llvm-svn: 250287
* ArchSpec: fix unintentional promotion of unspecified unknowns to specified ↵Todd Fiala2015-10-131-6/+10
| | | | | | | | | | | | | | | | | | | | | unknowns * ArchSpec::MergeFrom() would erroneously promote an unspecified unknown to a specified unknown when both the ArchSpec and the merged in ArchSpec were both unspecified unknowns. This no longer happens, which fixes issues with global module cache lookup in some situations. * Added ArchSpec::DumpTriple(Stream&) that now properly prints unspecified unknowns as '*' and specified unknows as 'unknown'. This makes it trivial to tell the difference between the two. Converted printing code over ot using DumpTriple() rather than building from scratch. * Fixed up a couple places that were not guaranteeing that an unspecified unknown was recorded as such. llvm-svn: 250253
* Decide on the expression language inside UserExpressionDawn Perchik2015-10-071-10/+1
| | | | | | | | | | | | | | When the target settings are consulted to decide the expression language is decided in CommandObjectExpression, this doesn't help if you're running SBFrame::EvaluateExpression(). Moving the logic into UserExpression fixes this. Based on patch from scallanan@apple.com Reviewed by: dawn Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13267 llvm-svn: 249624
* commands: Use override instead of virtual.Bruce Mitchener2015-10-0718-1216/+1029
| | | | | | | | | | | | | | | | | Summary: This removes all uses of virtual on functions where override could be used, including on destructors. It also adds override where virtual was previously missing. Reviewers: clayborg, labath Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13503 llvm-svn: 249564
* Fix minor typos in comments.Bruce Mitchener2015-10-073-4/+4
| | | | llvm-svn: 249533
* Route the preferred-display-language mechanism to the ValueObjectPrinter and ↵Enrico Granata2015-10-072-0/+3
| | | | | | actually fill in a few gaps for dynamic and synthetic values to be able to adopt this in useful ways llvm-svn: 249507
* Add a 'type lookup' command. This command is meant to look up type ↵Enrico Granata2015-10-011-0/+213
| | | | | | | | | | information by name in a language-specific way. Currently, it only supports Objective-C - C++ types can be looked up through debug info via 'image lookup -t', whereas ObjC types via this command are looked up by runtime introspection This behavior is in line with type lookup's behavior in Xcode 7, but I am definitely open to feedback as to what makes the most sense here llvm-svn: 249047
* Made Target hold a map of languages to TypeSystems, and added some accessors.Sean Callanan2015-10-011-3/+7
| | | | | | | | Also added some target-level search functions so that persistent variables and symbols can be searched for without hand-iterating across the map of TypeSystems. llvm-svn: 249027
* Introudce a IsTopLevelFunction() API on Language and FunctionEnrico Granata2015-09-301-0/+5
| | | | | | | | This is meant to support languages that have a scripting mode with top-level code that acts as global For now, this flag only controls whether 'frame variable' will attempt to treat globals as locals when within such a function llvm-svn: 248960
* Now persistent expression data no longer lives with the Target, but rather withSean Callanan2015-09-301-1/+1
| | | | | | | | | | the corresponding TypeSystem. This makes sense because what kind of data there is -- and how it can be looked up -- depends on the language. Functionality that is common to all type systems is factored out into PersistentExpressionState. llvm-svn: 248934
* Add support for .ARM.exidx unwind informationTamas Berghammer2015-09-301-0/+8
| | | | | | | | | .ARM.exidx/.ARM.extab sections contain unwind information used on ARM architecture from unwinding from an exception. Differential revision: http://reviews.llvm.org/D13245 llvm-svn: 248903
* Remove one of the three spaces after a period in one of the breakpointJason Molenda2015-09-281-1/+1
| | | | | | | set help messages. <rdar://problem/22870082> llvm-svn: 248755
* Moved more Clang-specific parts of the expression parser into the Clang plugin.Sean Callanan2015-09-251-1/+1
| | | | | | | | | There are still a bunch of dependencies on the plug-in, but this helps to identify them. There are also a few more bits we need to move (and abstract, for example the ClangPersistentVariables). llvm-svn: 248612
* Rename clang_type -> compiler_type for variables.Bruce Mitchener2015-09-241-5/+5
| | | | | | | | | | Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13102 llvm-svn: 248461
OpenPOWER on IntegriCloud