17d5a0358d60922707fdab6ec9c3251ca44dd614 |
|
23-May-2013 |
Michael Sartain <mikesart@valvesoftware.com> |
Add ${ansi.XX} parsing to lldb prompt, use-color setting, and -no-use-colors command line options. settings set use-color [false|true] settings set prompt "${ansi.bold}${ansi.fg.green}(lldb)${ansi.normal} " also "--no-use-colors" on the command prompt git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
952e9dc874944fcdbbb224f3ec4fc2c859376f64 |
|
28-Mar-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13521159> LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down. All logging channels now make one and only one instance that is kept in a global pointer which is never freed. This guarantees that logging can correctly continue as the process tears itself down. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
f509c5ec066599a3399fced39ea36996184939e8 |
|
29-Jan-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/12978143> Data formatters now cache themselves. This commit provides a new formatter cache mechanism. Upon resolving a formatter (summary or synthetic), LLDB remembers the resolution for later faster retrieval. Also moved the data formatters subsystem from the core to its own group and folder for easier management, and done some code reorganization. The ObjC runtime v1 now returns a class name if asked for the dynamic type of an object. This is required for formatters caching to work with the v1 runtime. Lastly, this commit disposes of the old hack where ValueObjects had to remember whether they were queried for formatters with their static or dynamic type. Now the ValueObjectDynamicValue class works well enough that we can use its dynamic value setting for the same purpose. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
d891f9b872103235cfd2ed452c6f14a4394d9b3a |
|
05-Dec-2012 |
Daniel Malea <daniel.malea@intel.com> |
Fix Linux build warnings due to redefinition of macros: - add new header lldb-python.h to be included before other system headers - short term fix (eventually python dependencies must be cleaned up) Patch by Matt Kopec! git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
b1087a27f7babc43f332c9d49ac4554892133a41 |
|
30-Nov-2012 |
Jim Ingham <jingham@apple.com> |
Save and restore terminal state when lldb is suspended with SIGTSTP and resumed with SIGCONT. Readline & gdb have a bunch of code to handle older UNIX'es with other job control mechanisms. I didn't try to replicate that. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
5f35a4be95aed0e5b2cb36f7d785bcbfc67284ae |
|
29-Nov-2012 |
Daniel Malea <daniel.malea@intel.com> |
Resolve printf formatting warnings on Linux: - use macros from inttypes.h for format strings instead of OS-specific types Patch from Matt Kopec! git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
ed0a0fbd021e44727469d6fa20cc337c58bd04c3 |
|
18-Oct-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/12462048> <rdar://problem/12068650> More fixes to how we handle paths that are used to create a target. This modification centralizes the location where and how what the user specifies gets resolved. Prior to this fix, the TargetList::CreateTarget variants took a FileSpec object which meant everyone had the opportunity to resolve the path their own way. Now both CreateTarget variants take a "const char *use_exe_path" which allows the TargetList::CreateTarget to centralize where the resolving happens and "do the right thing". git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
bf41e19c78f0c84671d21eadec3954ab6db550c1 |
|
05-Oct-2012 |
Jason Molenda <jmolenda@apple.com> |
Ran the sources through the compiler with -Wshadow warnings enabled after we'd found a few bugs that were caused by shadowed local variables; the most important issue this turned up was a common mistake of trying to obtain a mutex lock for the scope of a code block by doing Mutex::Locker(m_map_mutex); This doesn't assign the lock object to a local variable; it is a temporary that has its dtor called immediately. Instead, Mutex::Locker locker(m_map_mutex); does what is intended. For some reason -Wshadow happened to highlight these as shadowed variables. I also fixed a few obivous and easy shadowed variable issues across the code base but there are a couple dozen more that should be fixed when someone has a free minute. <rdar://problem/12437585> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
851e30ec6a1b1d2c154bb7d69ed0d05b5fd14705 |
|
18-Sep-2012 |
Greg Clayton <gclayton@apple.com> |
Stop using the "%z" size_t modifier and cast all size_t values to uint64_t. Some platforms don't support this modification. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
7de0117c60163841c493c8db3e891e4839390acb |
|
07-Sep-2012 |
Enrico Granata <egranata@apple.com> |
Fixing a constness issue in an otherwise trivial patch git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
df83db835a5e026a2270dcc334e848452208691d |
|
06-Sep-2012 |
Enrico Granata <egranata@apple.com> |
Restoring an API as deprecated which was removed in a previous commit git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
c6e82e4a323d7a7168b05365c53c9bc2e0d418e3 |
|
22-Aug-2012 |
Greg Clayton <gclayton@apple.com> |
Remove further outdated "settings" code and also implement a few missing things. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
73844aa19a7360b662e2be710fc3c969d6c86606 |
|
22-Aug-2012 |
Greg Clayton <gclayton@apple.com> |
Reimplemented the code that backed the "settings" in lldb. There were many issues with the previous implementation: - no setting auto completion - very manual and error prone way of getting/setting variables - tons of code duplication - useless instance names for processes, threads Now settings can easily be defined like option values. The new settings makes use of the "OptionValue" classes so we can re-use the option value code that we use to set settings in command options. No more instances, just "does the right thing". git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
f590be8aaa0aba484d828019111d61dff33b273e |
|
20-Aug-2012 |
Filipe Cabecinhas <me@filcab.net> |
A baton isn't needed to dispatch input. I also added a typemap to make DispatchInput usable in Python. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
ee306fa748b51abb55c4006e1b877a1ac2343836 |
|
07-Jun-2012 |
Jim Ingham <jingham@apple.com> |
Add API logging for SBDebugger::MemoryPressureDetected. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@158159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
f92ddcc2fda5ca564acc37d2fecd4b577dfc2bde |
|
09-May-2012 |
Jim Ingham <jingham@apple.com> |
Print out a notification when the process of a target other than the currently selected target stops. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
07baf83fe7ae25ac87d38cd4fc19647b020adfad |
|
08-May-2012 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/11338654> Fixing a bug where having a summary for a bitfield without a format specified would in certain cases crash LLDB - This has also led to refactoring the by-type accessors for the data formatter subsystem. These now belong in our internal layer, and are just invoked by the public API stratum git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
b170aee2daacc83e3d71c3e3acc9d56c89893a7b |
|
08-May-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/11358639> Switch over to the "*-apple-macosx" for desktop and "*-apple-ios" for iOS triples. Also make the selection process for auto selecting platforms based off of an arch much better. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
1b584ebc1de8b50fe375cffb5fb33ad13be10046 |
|
05-May-2012 |
Jim Ingham <jingham@apple.com> |
Don't expose the pthread_mutex_t underlying the Mutex & Mutex::Locker classes. No one was using it and Locker(pthread_mutex_t *) immediately asserts for pthread_mutex_t's that don't come from a Mutex anyway. Rather than try to make that work, we should maintain the Mutex abstraction and not pass around the platform implementation... Make Mutex::Locker::Lock take a Mutex & or a Mutex *, and remove the constructor taking a pthread_mutex_t *. You no longer need to call Mutex::GetMutex to pass your mutex to a Locker (you can't in fact, since I made it private.) git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
516f0849819d094d4eab39a1f27b770259103ff8 |
|
11-Apr-2012 |
Greg Clayton <gclayton@apple.com> |
No functionality changes, mostly cleanup. Cleaned up the Mutex::Locker and the ReadWriteLock classes a bit. Also cleaned up the GDBRemoteCommunication class to not have so many packet functions. Used the "NoLock" versions of send/receive packet functions when possible for a bit of performance. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
860b9ea0038cdcea2dda00b1657f945363c96d00 |
|
09-Apr-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/11202426> Work around a deadlocking issue where "SBDebugger::MemoryPressureDetected ()" is being called and is causing a deadlock. We now just try and get the lock when trying to trim down the unique modules so we don't deadlock debugger GUI programs until we can find the root cause. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
b1db658333cdebca31a128be95e926d80c3c7796 |
|
20-Mar-2012 |
Greg Clayton <gclayton@apple.com> |
Platforms can now auto-select themselves if you specify a full target triple when doing a "target create" command. Each platform now knows if it can handle an architecture and a platform can be found using an architecture. Each platform can look at the arch, vendor and OS and know if it should be used or not. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
d8465214c43d29755822670ad21ced2506faae7a |
|
22-Feb-2012 |
Jim Ingham <jingham@apple.com> |
Make Debugger::SetLoggingCallback public, and expose it through the SB API. Sometimes it is not convenient to provide a log callback right when the debugger is created. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
c48ca82920bd333c7ccb6ec0e579207add130296 |
|
21-Feb-2012 |
Jason Molenda <jmolenda@apple.com> |
Patch Enrico's changes from r150558 on 2012-02-14 to build even if Python is not available (LLDB_DISABLE_PYTHON is defined). Change build-swig-Python.sh to emit an empty LLDBPythonWrap.cpp file if this build is LLDB_DISABLE_PYTHON. Change the "Copy to Xcode.app" shell script phase in the lldb.xcodeproj to only do this copying for Mac native builds. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
6c530f2201be4788dedf3d5970399220fbd50b11 |
|
21-Feb-2012 |
Jim Ingham <jingham@apple.com> |
Add a logging mode that takes a callback and flush'es to that callback. Also add SB API's to set this callback, and to enable the log channels. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
16376ed044df3ee70fcf69e19f06af01e71a8e9a |
|
15-Feb-2012 |
Enrico Granata <granata.enrico@gmail.com> |
<rdar://problem/10062621> New public API for handling formatters: creating, deleting, modifying categories, and formatters, and managing type/formatter association. This provides SB classes for each of the main object types involved in providing formatter support: SBTypeCategory SBTypeFilter SBTypeFormat SBTypeSummary SBTypeSynthetic plus, an SBTypeNameSpecifier class that is used on the public API layer to abstract the notion that formatters can be applied to plain type-names as well as to regular expressions For naming consistency, this patch also renames a lot of formatters-related classes. Plus, the changes in how flags are handled that started with summaries is now extended to other classes as well. A new enum (lldb::eTypeOption) is meant to support this on the public side. The patch also adds several new calls to the formatter infrastructure that are used to implement by-index accessing and several other design changes required to accommodate the new API layer. An architectural change is introduced in that backing objects for formatters now become writable. On the public API layer, CoW is implemented to prevent unwanted propagation of changes. Lastly, there are some modifications in how the "default" category is constructed and managed in relation to other categories. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
334d33a19fd28cf41cba74cc61cf149e7101a603 |
|
30-Jan-2012 |
Greg Clayton <gclayton@apple.com> |
SBFrame is now threadsafe using some extra tricks. One issue is that stack frames might go away (the object itself, not the actual logical frame) when we are single stepping due to the way we currently sometimes end up flushing frames when stepping in/out/over. They later will come back to life represented by another object yet they have the same StackID. Now when you get a lldb::SBFrame object, it will track the frame it is initialized with until the thread goes away or the StackID no longer exists in the stack for the thread it was created on. It uses a weak_ptr to both the frame and thread and also stores the StackID. These three items allow us to determine when the stack frame object has gone away (the weak_ptr will be NULL) and allows us to find the correct frame again. In our test suite we had such cases where we were just getting lucky when something like this happened: 1 - stop at breakpoint 2 - get first frame in thread where we stopped 3 - run an expression that causes the program to JIT and run code 4 - run more expressions on the frame from step 2 which was very very luckily still around inside a shared pointer, yet, not part of the current thread (a new stack frame object had appeared with the same stack ID and depth). We now avoid all such issues and properly keep up to date, or we start returning errors when the frame doesn't exist and always responds with invalid answers. Also fixed the UserSettingsController (not going to rewrite this just yet) so that it doesn't crash on shutdown. Using weak_ptr's came in real handy to track when the master controller has already gone away and this allowed me to pull out the previous NotifyOwnerIsShuttingDown() patch as it is no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
a4b43ab3cb7580667f9d7b5534dbc0c426964000 |
|
23-Dec-2011 |
Johnny Chen <johnny.chen@apple.com> |
rdar://problem/10216227 LLDB (python bindings) Crashing in lldb::SBDebugger::DeleteTarget(lldb::SBTarget&) Need to check the validity of (SBTarget&)target passed to SBDebugger::DeleteTarget() before calling target->Destroy(). git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
c5486870833244b1c705901f678f0aa2dca5b67c |
|
15-Dec-2011 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/10584789> Added a static memory pressure function in SBDebugger: void SBDebugger::MemoryPressureDetected () This can be called by applications that detect memory pressure to cause LLDB to release cached information. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
202060806d75f812b56a3cfa70d85fff536e5c2f |
|
17-Nov-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed an issue with the pthread_setspecific() where we weren't NULL-ing out the thread specific data and were destroying the thread specfic data more than once. Also added the ability to ask a lldb::StateType if it is stopped with an additional paramter of "must_exist" which means that the state must be a stopped state for a process that still exists. This means that eStateExited and eStateUnloaded will no longer return true if "must_exist" is set to true. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
96154be69fa240a662419183ed08e1cfc5418164 |
|
13-Nov-2011 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/10126482> Fixed an issues with the SBType and SBTypeMember classes: - Fixed SBType to be able to dump itself from python - Fixed SBType::GetNumberOfFields() to return the correct value for objective C interfaces - Fixed SBTypeMember to be able to dump itself from python - Fixed the SBTypeMember ability to get a field offset in bytes (the value being returned was wrong) - Added the SBTypeMember ability to get a field offset in bits Cleaned up a lot of the Stream usage in the SB API files. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
444e35b5fdf15a25a427285650f06f1390e62c75 |
|
19-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Moved lldb::user_id_t values to be 64 bit. This was going to be needed for process IDs, and thread IDs, but was mainly needed for for the UserID's for Types so that DWARF with debug map can work flawlessly. With DWARF in .o files the type ID was the DIE offset in the DWARF for the .o file which is not unique across all .o files, so now the SymbolFileDWARFDebugMap class will make the .o file index part (the high 32 bits) of the unique type identifier so it can uniquely identify the types. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
15afa9f26a38ea55876ac4ee0b17f0ac8137e9c1 |
|
01-Oct-2011 |
Greg Clayton <gclayton@apple.com> |
Removed lldb::SBSourceManager_impl. We export everything in the lldb namespace and this implemenation that backs our lldb::SBSourceManager should not be exported. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
f29d7f2c30d1afaacc6d3bd293ebb66cfa695717 |
|
30-Sep-2011 |
Greg Clayton <gclayton@apple.com> |
Destroy a target when it is deleted. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
d65593d3a6bf4fd5045e92e23adeea03e1695ce6 |
|
30-Sep-2011 |
Greg Clayton <gclayton@apple.com> |
After deleting a target, clear the target object and remove orphaned modules. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
3e8c25f62f92145b6fb699b379cbfe72b1245d4a |
|
24-Sep-2011 |
Greg Clayton <gclayton@apple.com> |
Added to the public API to allow symbolication: - New SBSection objects that are object file sections which can be accessed through the SBModule classes. You can get the number of sections, get a section at index, and find a section by name. - SBSections can contain subsections (first find "__TEXT" on darwin, then us the resulting SBSection to find "__text" sub section). - Set load addresses for a SBSection in the SBTarget interface - Set the load addresses of all SBSection in a SBModule in the SBTarget interface - Add a new module the an existing target in the SBTarget interface - Get a SBSection from a SBAddress object This should get us a lot closer to being able to symbolicate using LLDB through the public API. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
83dd2039d86b79e9cd5cf320bdb50c838fcb7b9c |
|
14-Sep-2011 |
Jim Ingham <jingham@apple.com> |
Adding "-n", "-p" and "-w" flags to the lldb command-line tool to allow attaching from the command line. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
cc637461f6c59851302836c64e0cb002de4f4571 |
|
13-Sep-2011 |
Jim Ingham <jingham@apple.com> |
SBSourceManager now gets the real source manager either from the Debugger or Target. Also, move the SourceManager file cache into the debugger so it can be shared amongst the targets. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
fdf24efe672bf3fa041cdbebd2d7f406b11882bd |
|
09-Sep-2011 |
Jim Ingham <jingham@apple.com> |
Move the SourceManager from the Debugger to the Target. That way it can store the per-Target default Source File & Line. Set the default Source File & line to main (if it can be found.) at startup. Selecting the current thread & or frame resets the current source file & line, and "source list" as well as the breakpoint command "break set -l <NUM>" will use the current source file. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
3370f0ce9e2ae2fe1f2adf3628f443053602efa4 |
|
20-Aug-2011 |
Enrico Granata <granata.enrico@gmail.com> |
Fixed some SWIG interoperability issues git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
7bbebaf6b46cd5d504544ad432d06fb989b770f9 |
|
13-Aug-2011 |
Jim Ingham <jingham@apple.com> |
Remember to restore the frame in the exe_ctx passed in to RunThreadPlan. Also, default "source_init_file" to False in the version of SBDebugger::Create so that we don't pick up the init file in Python. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
558dd5bc8b25722fa5b5106586b97ecf99e0026e |
|
13-Aug-2011 |
Jim Ingham <jingham@apple.com> |
Add a version of SBDebugger::Create which allows us to specify whether to source in the init files or not. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
574c3d63822cc7fd52bf6f6a94b6882fec4c8ce9 |
|
13-Aug-2011 |
Jim Ingham <jingham@apple.com> |
Make ValueObject::SetValueFromCString work correctly. Also change the SourceInitFile to look for .lldb-<APPNAME> and source that preferentially if it exists. Also made the breakpoint site report its address as well as its breakpoint number when it gets hit and can't find any the associated locations (usually because the breakpoint got disabled or deleted programmatically between the time it was hit and reported.) Changed ThreadPlanCallFunction to initialize the ivar m_func in the initializers of the constructor, rather than waiting to initialize till later on in the function. Fixed a bug where if you make an SBError and the ask it Success, it returns false. Fixed ValueObject::ResolveValue so that it resolves a temporary value, rather than overwriting the one in the value object. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
604f0d336f0d9390a0405022ef660ae922ef29bf |
|
17-Jun-2011 |
Greg Clayton <gclayton@apple.com> |
Added the notion of an system root for SDKs. This is a directory where all libraries and headers exist. This can be specified using the platform select function: platform select --sysroot /Volumes/remote-root remote-macosx Each platform subclass is free to interpret the sysroot as needed. Expose the new SDK root directory through the SBDebugger class. Fixed an issue with the GDB remote protocol where unimplemented packets were not being handled correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
409646d247dc8a1efe4f199a1b251516ffc62f60 |
|
15-Jun-2011 |
Johnny Chen <johnny.chen@apple.com> |
Add an API to SBDebugger class: bool SBDebugger::DeleteTarget(lldb::SBTarget &target); which is used in the test tearDown() phase to cleanup the debugger's target list so that it won't grow larger and larger as test cases are executed. This is also a good opportunity to get rid of the arcane requirement that test cases exercising the Python API must assign the process object to self.process so that it gets shutdown gracefully. Instead, the shutdown of the process associated with each target is now being now automatically. Also get rid of an API from SBTarget class: SBTarget::DeleteTargetFromList(lldb_private::TargetList *list); git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
421ca5014ea0e163998b9a8e0d777d3adb5c872e |
|
29-May-2011 |
Greg Clayton <gclayton@apple.com> |
Don't have the debugger default to ignoring EOF. This is only what the driver (or anything running in a terminal) wants. Not what a UI (Xcode) would want where it creates a debugger per debug window. The current code had an infinite loop after a debug session ended. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
b38df1e945846a5d956974ec157902a6ad748868 |
|
10-May-2011 |
Caroline Tice <ctice@apple.com> |
Make sure writing asynchronous output only backs up & overwrites prompt if the IOChannel input reader is the top input reader. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
4a348081030cdd2af758fddc869518357d9befd3 |
|
02-May-2011 |
Caroline Tice <ctice@apple.com> |
This patch captures and serializes all output being written by the command line driver, including the lldb prompt being output by editline, the asynchronous process output & error messages, and asynchronous messages written by target stop-hooks. As part of this it introduces a new Stream class, StreamAsynchronousIO. A StreamAsynchronousIO object is created with a broadcaster, who will eventually broadcast the stream's data for a listener to handle, and an event type indicating what type of event the broadcaster will broadcast. When the Write method is called on a StreamAsynchronousIO object, the data is appended to an internal string. When the Flush method is called on a StreamAsynchronousIO object, it broadcasts it's data string and clears the string. Anything in lldb-core that needs to generate asynchronous output for the end-user should use the StreamAsynchronousIO objects. I have also added a new notification type for InputReaders, to let them know that a asynchronous output has been written. This is to allow the input readers to, for example, refresh their prompts and lines, if desired. I added the case statements to all the input readers to catch this notification, but I haven't added any code for handling them yet (except to the IOChannel input reader). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
180546b3feb8c7bcca70a56776a7c4fad99ba09c |
|
30-Apr-2011 |
Greg Clayton <gclayton@apple.com> |
Added the ability to set the Platform path for a module through the SBModule interface. Added a quick way to set the platform though the SBDebugger interface. I will actually an a SBPlatform support soon, but for now this will do. ConnectionFileDescriptor can be passed a url formatted as: "fd://<fd>" where <fd> is a file descriptor in the current process. This is handy if you have services, deamons, or other tools that can spawn processes and give you a file handle. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
a2cffd3e511955855a1c281b45315cf911636a1c |
|
26-Apr-2011 |
Caroline Tice <ctice@apple.com> |
Add 'lldb_private' namespace where necessary to prevent ambiguity and resulting infinite loops. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
9ce9c3ce0106de3fe415596ca92b6133ab2d2ec0 |
|
19-Apr-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed an issue where if you specify an architecture from the command line like: $ lldb --arch i386-unknown-unknown a.out It would then create a target with only the "i386" part due to SBDebugger::GetDefaultArchitecture(...) truncating the arch triple due to the way things used to be. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
f15996eea072cdaa8a092f22d3a1212b3d95f0ec |
|
08-Apr-2011 |
Greg Clayton <gclayton@apple.com> |
Modified the ArchSpec to take an optional "Platform *" when setting the triple. This allows you to have a platform selected, then specify a triple using "i386" and have the remaining triple items (vendor, os, and environment) set automatically. Many interpreter commands take the "--arch" option to specify an architecture triple, so now the command options needed to be able to get to the current platform, so the Options class now take a reference to the interpreter on construction. Modified the build LLVM building in the Xcode project to use the new Xcode project level user definitions: LLVM_BUILD_DIR - a path to the llvm build directory LLVM_SOURCE_DIR - a path to the llvm sources for the llvm that will be used to build lldb LLVM_CONFIGURATION - the configuration that lldb is built for (Release, Release+Asserts, Debug, Debug+Asserts). I also changed the LLVM build to not check if "lldb/llvm" is a symlink and then assume it is a real llvm build directory versus the unzipped llvm.zip package, so now you can actually have a "lldb/llvm" directory in your lldb sources. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
b344843f75ef893762c93fd0a22d2d45712ce74d |
|
24-Mar-2011 |
Greg Clayton <gclayton@apple.com> |
Fixed the LLDB build so that we can have private types, private enums and public types and public enums. This was done to keep the SWIG stuff from parsing all sorts of enums and types that weren't needed, and allows us to abstract our API better. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
e86cbb9ef128db87cf904e330b2edfc15566bacd |
|
22-Mar-2011 |
Greg Clayton <gclayton@apple.com> |
Abtracted the innards of lldb-core away from the SB interface. There was some overlap in the SWIG integration which has now been fixed by introducing callbacks for initializing SWIG for each language (python only right now). There was also a breakpoint command callback that called into SWIG which has been abtracted into a callback to avoid cross over as well. Added a new binary: lldb-platform This will be the start of the remote platform that will use as much of the Host functionality to do its job so it should just work on all platforms. It is pretty hollowed out for now, but soon it will implement a platform using the GDB remote packets as the transport. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128053 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
e4b9c1fb338ee1ada72e6a3c198afb342d68c5c1 |
|
08-Mar-2011 |
Greg Clayton <gclayton@apple.com> |
LLDB now has "Platform" plug-ins. Platform plug-ins are plug-ins that provide an interface to a local or remote debugging platform. By default each host OS that supports LLDB should be registering a "default" platform that will be used unless a new platform is selected. Platforms are responsible for things such as: - getting process information by name or by processs ID - finding platform files. This is useful for remote debugging where there is an SDK with files that might already or need to be cached for debug access. - getting a list of platform supported architectures in the exact order they should be selected. This helps the native x86 platform on MacOSX select the correct x86_64/i386 slice from universal binaries. - Connect to remote platforms for remote debugging - Resolving an executable including finding an executable inside platform specific bundles (macosx uses .app bundles that contain files) and also selecting the appropriate slice of universal files for a given platform. So by default there is always a local platform, but remote platforms can be connected to. I will soon be adding a new "platform" command that will support the following commands: (lldb) platform connect --name machine1 macosx connect://host:port Connected to "machine1" platform. (lldb) platform disconnect macosx This allows LLDB to be well setup to do remote debugging and also once connected process listing and finding for things like: (lldb) process attach --name x<TAB> The currently selected platform plug-in can now auto complete any available processes that start with "x". The responsibilities for the platform plug-in will soon grow and expand. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
940b103224f3062578c7a7e6e76d8bf4a7956f2a |
|
23-Feb-2011 |
Greg Clayton <gclayton@apple.com> |
Abtracted all mach-o and ELF out of ArchSpec. This patch is a modified form of Stephen Wilson's idea (thanks for the input Stephen!). What I ended up doing was: - Got rid of ArchSpec::CPU (which was a generic CPU enumeration that mimics the contents of llvm::Triple::ArchType). We now rely upon the llvm::Triple to give us the machine type from llvm::Triple::ArchType. - There is a new ArchSpec::Core definition which further qualifies the CPU core we are dealing with into a single enumeration. If you need support for a new Core and want to debug it in LLDB, it must be added to this list. In the future we can allow for dynamic core registration, but for now it is hard coded. - The ArchSpec can now be initialized with a llvm::Triple or with a C string that represents the triple (it can just be an arch still like "i386"). - The ArchSpec can still initialize itself with a architecture type -- mach-o with cpu type and subtype, or ELF with e_machine + e_flags -- and this will then get translated into the internal llvm::Triple::ArchSpec + ArchSpec::Core. The mach-o cpu type and subtype can be accessed using the getter functions: uint32_t ArchSpec::GetMachOCPUType () const; uint32_t ArchSpec::GetMachOCPUSubType () const; But these functions are just converting out internal llvm::Triple::ArchSpec + ArchSpec::Core back into mach-o. Same goes for ELF. All code has been updated to deal with the changes. This should abstract us until later when the llvm::TargetSpec stuff gets finalized and we can then adopt it. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
5892856b0cd6591194c669afab5bf9ac19c5b3a0 |
|
09-Feb-2011 |
Greg Clayton <gclayton@apple.com> |
Use Host::File in lldb_private::StreamFile and other places to cleanup host layer a bit more. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
c4ed12f9db1a526401f29a4cef17d78fa5e3da26 |
|
22-Jan-2011 |
Caroline Tice <ctice@apple.com> |
Add API and implementation for SBDebugger::Destroy and Debugger::Destroy. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
bdcda468276dc9ab6bf648fc8cc07f3faad91526 |
|
20-Dec-2010 |
Greg Clayton <gclayton@apple.com> |
The LLDB API (lldb::SB*) is now thread safe! git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@122262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
f5e4326a5c5ec87a57ec58497e191a04a4ec77e9 |
|
20-Dec-2010 |
Johnny Chen <johnny.chen@apple.com> |
Patch from Stephen Wilson: Fix a typo where a qualification was being interpreted as a label. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@122260 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
c0446861315ac0d5994f93510e24cbcac9f534ad |
|
20-Dec-2010 |
Caroline Tice <ctice@apple.com> |
Add code to make sure InputReaders finish and are cleaned up when a Debugger object is destroyed or re-set. (Thus making sure that, for example, the Python interpreter finishes and exits cleanly rather than being left in an undefined state.) git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@122255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
c4f55fee15b66ea53da092ca50400ac5d8b0692d |
|
19-Nov-2010 |
Caroline Tice <ctice@apple.com> |
Add the ability to catch and do the right thing with Interrupts (often control-c) and end-of-file (often control-d). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
e005f2ce03c489ebde9110678a29cbfe8488d5b4 |
|
06-Nov-2010 |
Greg Clayton <gclayton@apple.com> |
Modified all logging calls to hand out shared pointers to make sure we don't crash if we disable logging when some code already has a copy of the logger. Prior to this fix, logs were handed out as pointers and if they were held onto while a log got disabled, then it could cause a crash. Now all logs are handed out as shared pointers so this problem shouldn't happen anymore. We are also using our new shared pointers that put the shared pointer count and the object into the same allocation for a tad better performance. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
538eb82a89a68dbc57251915080bd5152b333978 |
|
06-Nov-2010 |
Greg Clayton <gclayton@apple.com> |
Added copy constructors and assignment operators to all lldb::SB* classes so we don't end up with weak exports with some compilers. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
49ce682dfa7993d31206cea19ce7006cd3f3077e |
|
31-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Cleaned up the API logging a lot more to reduce redundant information and keep the file size a bit smaller. Exposed SBValue::GetExpressionPath() so SBValue users can get an expression path for their values. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
a66ba46379fe41036d870975c56ccc2319cb6618 |
|
30-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Improved API logging. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
3f5ee7fd6991891f0892bd71537763d9b59acd12 |
|
29-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Modified the lldb_private::TypeList to use a std::multimap for quicker lookup by type ID (the most common type of type lookup). Changed the API logging a bit to always show the objects in the OBJECT(POINTER) format so it will be easy to locate all instances of an object or references to it when looking at logs. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
61ba7ec20f616f907473dd501341cef5b47fa3f8 |
|
27-Oct-2010 |
Caroline Tice <ctice@apple.com> |
Clean up the API logging code: - Try to reduce logging to one line per function call instead of tw - Put all arguments & their values into log for calls - Add 'this' parameter information to function call logging, making it show the appropriate internal pointer (this.obj, this.sp, this.ap...) - Clean up some return values - Remove logging of constructors that construct empty objects - Change '==>' to '=>' for showing result values... - Fix various minor bugs - Add some protected 'get' functions to help getting the internal pointers for the 'this' arguments... git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
7826c8894803dc729f29789ebc038956a94d3e7a |
|
26-Oct-2010 |
Caroline Tice <ctice@apple.com> |
First pass at adding logging capabilities for the API functions. At the moment it logs the function calls, their arguments and the return values. This is not complete or polished, but I am committing it now, at the request of someone who really wants to use it, even though it's not really done. It currently does not attempt to log all the functions, just the most important ones. I will be making further adjustments to the API logging code over the next few days/weeks. (Suggestions for improvements are welcome). Update the Python build scripts to re-build the swig C++ file whenever the python-extensions.swig file is modified. Correct the help for 'log enable' command (give it the correct number & type of arguments). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
537a7a86687683fd403ce652d178fbc89e06ef9f |
|
20-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed an issue where we were resolving paths when we should have been. So the issue here was that we have lldb_private::FileSpec that by default was always resolving a path when using the: FileSpec::FileSpec (const char *path); and in the: void FileSpec::SetFile(const char *pathname, bool resolve = true); This isn't what we want in many many cases. One example is you have "/tmp" on your file system which is really "/private/tmp". You compile code in that directory and end up with debug info that mentions "/tmp/file.c". Then you type: (lldb) breakpoint set --file file.c --line 5 If your current working directory is "/tmp", then "file.c" would be turned into "/private/tmp/file.c" which won't match anything in the debug info. Also, it should have been just a FileSpec with no directory and a filename of "file.c" which could (and should) potentially match any instances of "file.c" in the debug info. So I removed the constructor that just takes a path: FileSpec::FileSpec (const char *path); // REMOVED You must now use the other constructor that has a "bool resolve" parameter that you must always supply: FileSpec::FileSpec (const char *path, bool resolve); I also removed the default parameter to SetFile(): void FileSpec::SetFile(const char *pathname, bool resolve); And fixed all of the code to use the right settings. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
887aa2898314218406275a34cbec30c11cd00acd |
|
11-Oct-2010 |
Greg Clayton <gclayton@apple.com> |
Added a "--no-lldbinit" option (-n for short (which magically matches what gdb uses)) so we can tell our "lldb" driver program to not automatically parse any .lldbinit files. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
1ebef44c126bd3a615b3ad844c46a82a82efa0e7 |
|
27-Sep-2010 |
Caroline Tice <ctice@apple.com> |
Create more useful instance names for target, process and thread instances. Change default 'set' behavior so that all instance settings for the specified variable will be updated, unless the "-n" ("--no_override") command options is specified. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
e49ec18f1868168c8927ae30a379db176ca8cce3 |
|
23-Sep-2010 |
Caroline Tice <ctice@apple.com> |
Remove all the __repr__ methods from the API/*.h files, and put them into python-extensions.swig, which gets included into lldb.swig, and adds them back into the classes when swig generates it's C++ file. This keeps the Python stuff out of the general API classes. Also fixed a small bug in the copy constructor for SBSymbolContext. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
5bc8c97d62b2e399bd90fb7e00c903d7887412ab |
|
20-Sep-2010 |
Caroline Tice <ctice@apple.com> |
Add UserSettings to Target class, making Target settings the parent of Process settings; add 'default-arch' as a class-wide setting for Target. Replace lldb::GetDefaultArchitecture with Target::GetDefaultArchitecture & Target::SetDefaultArchitecture. Add 'use-external-editor' as user setting to Debugger class & update code appropriately. Add Error parameter to methods that get user settings, for easier reporting of bad requests. Fix various other minor related bugs. Fix test cases to work with new changes. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
98f930f429160f9777f626c3ac6aa609f4e965d2 |
|
20-Sep-2010 |
Caroline Tice <ctice@apple.com> |
Add GetDescription() and __repr__ () methods to most API classes, to allow "print" from inside Python to print out the objects in a more useful manner. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
238c0a1e7b733cee539258faa656159c63f9e893 |
|
18-Sep-2010 |
Greg Clayton <gclayton@apple.com> |
Fixed the way set/show variables were being accessed to being natively accessed by the objects that own the settings. The previous approach wasn't very usable and made for a lot of unnecessary code just to access variables that were already owned by the objects. While I fixed those things, I saw that CommandObject objects should really have a reference to their command interpreter so they can access the terminal with if they want to output usaage. Fixed up all CommandObjects to take an interpreter and cleaned up the API to not need the interpreter to be passed in. Fixed the disassemble command to output the usage if no options are passed down and arguments are passed (all disassebmle variants take options, there are no "args only"). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
b8314fe67960cfcc5d9e9232be4c1914c9ef0ce3 |
|
09-Sep-2010 |
Caroline Tice <ctice@apple.com> |
Make API calls for setting/getting user settable variables static. Modify Driver to handle SIGWINCH signals and automatically re-set the term-width variable. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
1d2aefd474c9893407ef4deacefd08dd2ca2e806 |
|
09-Sep-2010 |
Caroline Tice <ctice@apple.com> |
Make all debugger-level user settable variables into instance variables. Make get/set variable at the debugger level always set the particular debugger's instance variables rather than the default variables. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
5bc7b67ccc8bb4a977d129e51313067dcbc7bb94 |
|
09-Sep-2010 |
Chris Lattner <sabre@nondot.org> |
eliminate some clang warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
6e4c5ce0f697eb9899a54854a2a9004e961b0de2 |
|
04-Sep-2010 |
Caroline Tice <ctice@apple.com> |
This is a very large commit that completely re-does the way lldb handles user settable internal variables (the equivalent of set/show variables in gdb). In addition to the basic infrastructure (most of which is defined in UserSettingsController.{h,cpp}, there are examples of two classes that have been set up to contain user settable variables (the Debugger and Process classes). The 'settings' command has been modified to be a command-subcommand structure, and the 'set', 'show' and 'append' commands have been moved into this sub-commabnd structure. The old StateVariable class has been completely replaced by this, and the state variable dictionary has been removed from the Command Interpreter. Places that formerly accessed the state variable mechanism have been modified to access the variables in this new structure instead (checking the term-width; getting/checking the prompt; etc.) Variables are attached to classes; there are two basic "flavors" of variables that can be set: "global" variables (static/class-wide), and "instance" variables (one per instance of the class). The whole thing has been set up so that any global or instance variable can be set at any time (e.g. on start up, in your .lldbinit file), whether or not any instances actually exist (there's a whole pending and default values mechanism to help deal with that). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
74989e88af7e04f3fe0bb3a800163113d7e0ca12 |
|
30-Aug-2010 |
Jim Ingham <jingham@apple.com> |
Added a way to open the current source file & line in an external editor, and you can turn this on with: lldb -e git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
c833295baeec641086f536e78050388af36784f8 |
|
26-Aug-2010 |
Jim Ingham <jingham@apple.com> |
Change "Current" as in GetCurrentThread, GetCurrentStackFrame, etc, to "Selected" i.e. GetSelectedThread. Selected makes more sense, since these are set by some user action (a selection). I didn't change "CurrentProcess" since this is always controlled by the target, and a given target can only have one process, so it really can't be selected. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
43490d1332d13694fb6690365984bf0ecdd8dcc3 |
|
30-Jul-2010 |
Greg Clayton <gclayton@apple.com> |
Added "void Clear();" methods to SBDebugger, SBTarget and SBThread so they can release their shared pointers. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
558be58c085ed1d3e33c01f5ea3bf0eff63ab827 |
|
30-Jun-2010 |
Caroline Tice <ctice@apple.com> |
Add a unique ID to each debugger instance. Add functions to look up debugger by id Add global variable to lldb python module, to hold debugger id Modify embedded Python interpreter to update the global variable with the id of its current debugger. Modify the char ** typemap definition in lldb.swig to accept 'None' (for NULL) as a valid value. The point of all this is so that, when you drop into the embedded interpreter from the command interpreter (or when doing Python-based breakpoint commands), there is a way for the Python side to find/get the correct debugger instance ( by checking debugger_unique_id, then calling SBDebugger::FindDebuggerWithID on it). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
63094e0bb161580564954dee512955c1c79d3476 |
|
23-Jun-2010 |
Greg Clayton <gclayton@apple.com> |
Very large changes that were needed in order to allow multiple connections to the debugger from GUI windows. Previously there was one global debugger instance that could be accessed that had its own command interpreter and current state (current target/process/thread/frame). When a GUI debugger was attached, if it opened more than one window that each had a console window, there were issues where the last one to setup the global debugger object won and got control of the debugger. To avoid this we now create instances of the lldb_private::Debugger that each has its own state: - target list for targets the debugger instance owns - current process/thread/frame - its own command interpreter - its own input, output and error file handles to avoid conflicts - its own input reader stack So now clients should call: SBDebugger::Initialize(); // (static function) SBDebugger debugger (SBDebugger::Create()); // Use which ever file handles you wish debugger.SetErrorFileHandle (stderr, false); debugger.SetOutputFileHandle (stdout, false); debugger.SetInputFileHandle (stdin, true); // main loop SBDebugger::Terminate(); // (static function) SBDebugger::Initialize() and SBDebugger::Terminate() are ref counted to ensure nothing gets destroyed too early when multiple clients might be attached. Cleaned up the command interpreter and the CommandObject and all subclasses to take more appropriate arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@106615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
84cdc15005983e5244d665fa779e33c2b6fac95f |
|
15-Jun-2010 |
Jim Ingham <jingham@apple.com> |
Move Args.{cpp,h} and Options.{cpp,h} to Interpreter where they really belong. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@106034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
d6ec8aaa74c926cab7147259cdf772b1338d0336 |
|
09-Jun-2010 |
Eli Friedman <eli.friedman@gmail.com> |
Fix a bunch more include lines. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|
24943d2ee8bfaa7cf5893e4709143924157a5c1e |
|
08-Jun-2010 |
Chris Lattner <sabre@nondot.org> |
Initial checkin of lldb code from internal Apple repo. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBDebugger.cpp
|