summaryrefslogtreecommitdiffstats
path: root/lldb/utils
Commit message (Collapse)AuthorAgeFilesLines
* Python 3: Modernize exception raising syntax.Zachary Turner2015-11-031-1/+1
| | | | | | | | | | Old-style: `raise foo, bar` New-style: `raise foo(bar)` These two statements are equivalent, but the former is an error in Python 3. llvm-svn: 251977
* syncsource.py: a specific dir's source_excludes may now include the special ↵Todd Fiala2015-10-081-1/+10
| | | | | | | | | | entry "<no-defaults>". The <no-defaults> special entry will prevent that specific directory's excludes from receiving the global default source excludes. This allows overriding the global default in a specific instance, simplifying the syntax for that case. llvm-svn: 249705
* Adjustments to syncsource.py.Todd Fiala2015-09-173-13/+13
| | | | | | | | | | | - renamed sync-source.py to syncsource.py to appease pylint. - added missing lib/transfer/__init__.py file. Fumble from git to svn. - adjusted README to call sync-source.py syncsource.py, and call .sync-sourcerc .syncsourcerc. - marked syncsource.py as executable by all. llvm-svn: 247922
* Add sync-source.py utility.Todd Fiala2015-09-176-0/+634
| | | | | | | | | | | | See: http://reviews.llvm.org/D12940 for more details. See utils/sync-source/README.txt for documentation and a sample .sync-sourcerc file. llvm-svn: 247903
* LUI: Fix some issues causing crashes in the source viewWei Pan2013-10-231-26/+8
| | | | llvm-svn: 193217
* lui: enable tab completion in command windowSriram Murali2013-10-161-2/+21
| | | | llvm-svn: 192814
* prevent lui from crashing with small source filesSriram Murali2013-10-161-3/+5
| | | | llvm-svn: 192811
* A couple of small visual improvements for luiBen Langmuir2013-10-161-2/+2
| | | | | | | | Change titles to white rather than green text to improve readability on blue background, and use erase() instead of clear() to reduce flicker in the source window. llvm-svn: 192768
* lui: clean up breakpoint window, and allow multi-line list itemsBen Langmuir2013-10-162-12/+79
| | | | | | | | | | * Clean the SBBreakpoint: id = out of the output * clamp output to window width (eventually we should be able to scroll left/right) * On 'tab', expand a breakpoint to show its locations * Allow enter/space to toggle breakpoints llvm-svn: 192766
* Add a ListWin to cui to show scrollabled lists Ben Langmuir2013-10-164-22/+102
| | | | | Author: Paul Redmond <paul.redmond@intel.com> llvm-svn: 192765
* Add LLVM license headers to lldb ui frontendDaniel Malea2013-10-1110-0/+92
| | | | llvm-svn: 192466
* Initial checkin of curses-based LLDB UI (lui)Daniel Malea2013-10-0911-0/+1867
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LLDB (Terminal) User Interface ============================== This directory contains the curses user interface for LLDB. To use it, ensure Python can find your lldb module. You may have to modify PYTHONPATH for that purpose: $ export PYTHONPATH=/path/to/lldb/module Then, run the lui.py. To load a core file: $ ./lui.py --core core To create a target from an executable: $ ./lui.py /bin/echo "hello world" To attach to a running process: $ ./lui.py --attach <pid> Known Issues ============ 1. Resizing the terminal will most likely cause lui to crash. 2. Missing paging in command-window 3. Only minimal testing (on Ubuntu Linux x86_64) Missing Features ================ - stdin/stdout/stderr windows - memory window - backtrace window - threads window - tab-completion - syntax-highlighting (via pygments library) - (local) variables window - registers window - disassembly window - custom layout llvm-svn: 192326
* Fixed continue issues with process attach/detachDaniel Malea2013-05-281-4/+4
| | | | | | | | - added code for tracking transition from eStateAttaching to eStateStopped in event listener and handling process continuation there. Patch by Arthur Evstifeev! llvm-svn: 182806
* Improve vim-lldb expression commands for objective-c and implement ↵Daniel Malea2013-05-232-3/+23
| | | | | | | | | | | | | | | evaluate-under-cursor: 1. Added new :Lpo command 2. :Lpo and :Lprint can be invoked without parameters. In that case cursor word will be used 3. Added :LpO command in that case instead of <cword> will be used stripped <cWORD>. This command is useful for printing objective-c properties (for ex.: self.tableView). Patch by Arthur Evstifeev!! llvm-svn: 182613
* Add entries to vim-lldb plugin docs/help page for :Lattach and :LdetachDaniel Malea2013-05-221-0/+6
| | | | llvm-svn: 182491
* LLDB Vim plugin usability improvement: ":Lshow" now displays all panesDaniel Malea2013-05-222-1/+5
| | | | | | | | - no longer requires a pane name argument Patch by Arthur Evstifeev llvm-svn: 182484
* Implement attach by name in LLDB Vim plugin using ":Lattach <process-name>"Daniel Malea2013-05-222-0/+29
| | | | | | patch by Arthur Evstifeev llvm-svn: 182483
* Minor update to Vim frontend: simplify breakpoints display (and list ↵Daniel Malea2013-02-121-28/+10
| | | | | | unresolved breakpoints) llvm-svn: 174923
* Add Vim frontend to LLDB.Daniel Malea2013-02-119-0/+1669
| | | | | | | | | | | | | | | | | | | | | - Access any LLDB CLI command in Vim by typing ":L<command>". Tab-completion works too! - See source locations for breakpoints and the current PC with vim "marks" and highlights. - Examine backtraces, locals, disassembly, registers, and breakpoints in dedicated Vim windows. - See when in-scope variables and registers change by watching for (red) highlights. This plugin opens multiple Vim "windows" to display debugger information. To quit all windows at the same time use ":qa". The alternative would be ":q" to close each window separately. This plugin is known to work on Mac OS X (Mountain Lion) with MacVim and the system-provided terminal Vim, and on Linux (Ubuntu 12.04 and 12.10) with GVim and the terminal Vim from the "vim-gnome" package. llvm-svn: 174892
* Minor cleanup.Johnny Chen2012-03-051-0/+2
| | | | llvm-svn: 152038
* Add a utility script:Johnny Chen2011-11-041-0/+83
| | | | | | | | | | | Greps and returns the first svn log entry containing a line matching the regular expression pattern passed as the only arg. Example: svn log -v | grep-svn-log.py '^ D.+why_are_you_missing.h$' llvm-svn: 143671
* Remove utils/emacs directory from lldb.Johnny Chen2011-10-103-3617/+0
| | | | llvm-svn: 141554
* Fix typos in comment.Johnny Chen2011-08-201-1/+1
| | | | llvm-svn: 138179
* Use os.walk(), available since 2.3, instead of os.path.walk(), removed in 3.0,Johnny Chen2011-08-201-37/+28
| | | | | | to walk the directory tree. Plus, we can concentrate only on leaf nodes, i.e., files. llvm-svn: 138178
* No need to look further if the file is a symbolic link. Look for the real file.Johnny Chen2011-08-201-0/+8
| | | | | | Plus add some comments. llvm-svn: 138159
* Add a Python script to locate each binary file under a root directory which ↵Johnny Chen2011-08-192-18/+148
| | | | | | | | | | | | | | | | matches some pathname pattern and to invoke lldb-disasm.py on the binary file to disassemble its symbols. The number of symbols can be specified by, for example, '-n 10000', to specify 10,000 symbols to disassemble for each module. By default, only 1000 symbols from each module are disassembled. Example: utils/test/run-dis.py -r '/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.3/Symbols' -p '^/System/Library/.*Frameworks/.*\.framework/[^/]+$' tries to disassemble every public/private frameworks (by default only 1000 symbols are disassembled) under iOS4.3. llvm-svn: 138078
* Fix TypeError exception for re.compile().Johnny Chen2011-08-191-1/+2
| | | | llvm-svn: 138045
* Add an option (-p regexp-pattern) to specify the regular expression symbol ↵Johnny Chen2011-08-181-9/+28
| | | | | | | | | | | | pattern we're interested in disassembling. An example: utils/test/lldb-disasm.py -C "platform select remote-ios" -o "-b -n" -e '~/CoreFoundation' -n 20 -p '-\[NSArray .+\]' disassembles the first 20 NSArray instance methods found in the CoreFoundation module. llvm-svn: 138002
* Add an option '-q' to have quiet disassembly by not printing out the ↵Johnny Chen2011-08-181-11/+22
| | | | | | | | | | | | disassembled result. This could be useful by reducing the strain on standard output. Example: utils/test/lldb-disasm.py -C "platform select remote-ios" -o "-b -n" -e '~/CoreFoundation' -n 50 -q llvm-svn: 137988
* Update usage comment.Johnny Chen2011-06-141-2/+2
| | | | llvm-svn: 133020
* Turn off printing of command sent to the pexpect-spawned child process to ↵Johnny Chen2011-06-011-2/+2
| | | | | | make the script more robotic. llvm-svn: 132441
* Make 'run-until-faulted.py' script more interesting by modifying the example ↵Johnny Chen2011-06-012-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | main.c program to seg fault randomly instead of deterministically. Example: [15:10:43] johnny:/Volumes/data/lldb/svn/trunk/utils/test $ clang -g main.c [15:10:46] johnny:/Volumes/data/lldb/svn/trunk/utils/test $ ./run-until-faulted.py -l $PWD/../../build/Debug/lldb -e a.out lldb command: /Volumes/data/lldb/svn/trunk/utils/test/../../build/Debug/lldb executable: a.out executable options: (lldb) sending 'file a.out' command... file a.out Current executable set to 'a.out' (x86_64). (lldb) sending 'process launch -- ' command... (iteration: 0) process launch -- Process 63630 launched: '/Volumes/data/lldb/svn/trunk/utils/test/a.out' (x86_64) Hello, fault! val=9 Better luck next time! Process 63630 exited with status = 0 (0x00000000) (lldb) sending 'process launch -- ' command... (iteration: 1) process launch -- Process 63633 launched: '/Volumes/data/lldb/svn/trunk/utils/test/a.out' (x86_64) Process 63633 exited with status = 0 (0x00000000) sending 'process launch -- ' command... (iteration: 2) Hello, fault! val=0 Better luck next time! (lldb) process launch -- Process 63637 launched: '/Volumes/data/lldb/svn/trunk/utils/test/a.out' (x86_64) Hello, fault! val=15 Better luck next time! Process 63637 exited with status = 0 (0x00000000) (lldb) sending 'process launch -- ' command... (iteration: 3) process launch -- Process 63640 launched: '/Volumes/data/lldb/svn/trunk/utils/test/a.out' (x86_64) Hello, fault! val=2 Better luck next time! Process 63640 exited with status = 0 (0x00000000) sending 'process launch -- ' command... (iteration: 4) (lldb) process launch -- Process 63643 launched: '/Volumes/data/lldb/svn/trunk/utils/test/a.out' (x86_64) Process 63643 stopped * thread #1: tid = 0x2d03, 0x0000000100000e93 a.out`main + 99 at main.c:11, stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x0000000100000e93 a.out`main + 99 at main.c:11 8 u_int32_t val = (arc4random() & 0x0f); 9 printf("val=%u\n", val); 10 if (val == 0x07) // Lucky 7 :-) -> 11 printf("Now segfault %d\n", *null_ptr); 12 else 13 printf("Better luck next time!\n"); 14 } (lldb) * thread #1: tid = 0x2d03, 0x0000000100000e93 a.out`main + 99 at main.c:11, stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x0000000100000e93 a.out`main + 99 at main.c:11 8 u_int32_t val = (arc4random() & 0x0f); 9 printf("val=%u\n", val); 10 if (val == 0x07) // Lucky 7 :-) -> 11 printf("Now segfault %d\n", *null_ptr); 12 else 13 printf("Better luck next time!\n"); 14 } Hello, fault! val=7 (lldb) llvm-svn: 132430
* Use built-in truth value testing.Johnny Chen2011-05-251-1/+1
| | | | llvm-svn: 132078
* Fix usage comment.Johnny Chen2011-05-231-1/+1
| | | | llvm-svn: 131925
* Add a Python utility to help convert the Mail.app saved 'Raw Message Source' ↵Johnny Chen2011-05-232-5/+70
| | | | | | .eml file to a git-am friendly file. llvm-svn: 131924
* Modified to take advantage of the iteration protocol for our lldb container ↵Johnny Chen2011-04-281-3/+2
| | | | | | objects. llvm-svn: 130457
* Add a Python script which launches a program from within lldb and loop until theJohnny Chen2011-04-023-0/+144
| | | | | | | process stops for some reason. main.c (compiled into a.out) is used as an example in the README-run-until-faulted file. llvm-svn: 128755
* Take advantage of the newly added SBSymbol.GetType() API to check whether weJohnny Chen2011-03-311-61/+12
| | | | | | have a Code symbol and do disassembly on it. llvm-svn: 128604
* Add a generator to iterate through the code symbols for a given target.Johnny Chen2011-03-311-1/+38
| | | | | | To be modified to take advantage of the new SBSymbol API which checks a symbol for its type. llvm-svn: 128601
* Add an option to specify the symbols to disassemble instead of the existing ↵Johnny Chen2011-03-301-23/+36
| | | | | | | | | | | | 'num of symbols to disassemble' option. If both are present, the 'symbols to disassemble' overrides the 'num of symbols to disassemble'. An example usage: $ ./lldb-disasm.py -C 'platform create remote-ios' -e /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib/libSystem.B.dylib -o '-r -n' -s vprintf -s acosf_special llvm-svn: 128569
* Add the ability to invoke lldb's disassemble command on the symbols digested ↵Johnny Chen2011-03-291-17/+74
| | | | | | | | | from the 'image dump symtab' command. The number of symbols to disassemble can be specified by the '-n Num' option, or unlimited if not specified. llvm-svn: 128442
* Doc string change.Johnny Chen2011-03-281-1/+1
| | | | llvm-svn: 128429
* Add an initial version of lldb-disasm.py script whose purpose is to iterate ↵Johnny Chen2011-03-282-0/+245
| | | | | | | | | through all the symbols for an executable image and to issue the lldb 'disassemble' command on each symbol. The initial version just dumps the symbol table. llvm-svn: 128428
* Add options to allow for specifying an option string when spawning gdb and ↵Johnny Chen2011-03-212-364/+264
| | | | | | | | | | | for executing command(s) right after starting up gdb. Update the README file to show an example of using these to pass '-arch armv7' to gdb and to execute gdb command to set shared library path substitutions before loading iOS4.3 sdk's /usr/lib/libSystem.B.dylib and disassembling the 'printf' function. llvm-svn: 128040
* Fix a typo in the message string.Johnny Chen2011-03-211-1/+1
| | | | llvm-svn: 128034
* Modify disasm.py to better deal with the objc method name which has ':' in them.Johnny Chen2011-03-192-2/+105
| | | | | | Add a utility similar to disasm.py, but which provides a shell-like environment for invoking llvm-mc. llvm-svn: 127936
* Tidy up the input file given to 'llvm-mc -disassemble' and also append the gdbJohnny Chen2011-03-171-7/+10
| | | | | | assembler code to the memory dump. llvm-svn: 127823
* Add a Python script to take an executable, run gdb to disassemble a function,Johnny Chen2011-03-172-0/+698
| | | | | | | | | | | read the memory contents of the function, and then feed the bytes to the 'llvm-mc -disassemble' command. It uses the pexpect module located under ToT/test/pexpect-2.4 directory to automate the interaction with gdb. This is used initially to test the low level ARM disassembler of llvm. llvm-svn: 127785
* Add readme on the version of emacs that works with lldb-enhanced gud.el,Johnny Chen2011-02-251-1/+10
| | | | | | for Stuart Hastings. :-) llvm-svn: 126469
* The lldb-enhanced gud.el does not work on emacs 22.1.1 (dumb terminal).Johnny Chen2011-02-241-0/+19
| | | | | | | | | | | | | | | | | | This is the error I got: Debugger entered--Lisp error: (void-function split-string-and-unquote) (split-string-and-unquote command-line) (let* ((words ...) (program ...) (dir default-directory) (file-word ...) (file-subst ...) (args ...) (file ...) (filepart ...) (existing-buffer ...)) (pop-to$ gud-common-init("/Volumes/data/lldb/svn/trunk/build/Debug/lldb" nil gud-lldb-marker-filter) lldb("/Volumes/data/lldb/svn/trunk/build/Debug/lldb") call-interactively(lldb) execute-extended-command(nil) call-interactively(execute-extended-command) The gud-common-init elisp function references split-string-and-unquote function which is not defined there. llvm-svn: 126449
OpenPOWER on IntegriCloud