summaryrefslogtreecommitdiffstats
path: root/lldb/utils
Commit message (Collapse)AuthorAgeFilesLines
* *** This commit represents a complete reformatting of the LLDB source codeKate Stone2016-09-0629-2292/+2779
| | | | | | | | | | | | | | | | | | | | | | | *** to conform to clang-format’s LLVM style. This kind of mass change has *** two obvious implications: Firstly, merging this particular commit into a downstream fork may be a huge effort. Alternatively, it may be worth merging all changes up to this commit, performing the same reformatting operation locally, and then discarding the merge for this particular commit. The commands used to accomplish this reformatting were as follows (with current working directory as the root of the repository): find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} + find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ; The version of clang-format used was 3.9.0, and autopep8 was 1.2.4. Secondly, “blame” style tools will generally point to this commit instead of a meaningful prior commit. There are alternatives available that will attempt to look through this change and find the appropriate prior commit. YMMV. llvm-svn: 280751
* 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
OpenPOWER on IntegriCloud