b9d995d0863e1860c12c4ace0d5eb0ba832f9c99 |
|
09-Jul-2013 |
Enrico Granata <egranata@apple.com> |
Second attempt at getting the PyCallable changes in trunk Thanks to Daniel Malea for helping test this patch for Linux happiness! git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBCommandReturnObject.cpp
|
26bc105b1882a78de609d46d148ad2b5c4d50656 |
|
03-Jul-2013 |
Daniel Malea <daniel.malea@intel.com> |
Revert commits that cause broken builds on GCC buildbots - build fails due to PyCallable template definition inside an extern "C" scope This commit reverts 185240, 184893 and 184608. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBCommandReturnObject.cpp
|
9c9a7bf57d081271c7e971decfe221561a920bcd |
|
26-Jun-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/14266411> The semi-unofficial way of returning a status from a Python command was to return a string (e.g. return "no such variable was found") that LLDB would pick as a clue of an error having happened This checkin changes that: - SBCommandReturnObject now exports a SetError() call, which can take an SBError or a plain C-string - script commands now drop any return value and expect the SBCommandReturnObject ("return object") to be filled in appropriately - if you do nothing, a success will be assumed If your commands were relying on returning a value and having LLDB pick that up as an error, please change your commands to SetError() through the return object or expect changes in behavior git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBCommandReturnObject.cpp
|
78280ba2d849f92a700ba15be3efa9eef5ffc730 |
|
02-May-2013 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/13499317> Enabling Python commands to produce Unicode output via: result.PutCString(u”whatever”) git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBCommandReturnObject.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/SBCommandReturnObject.cpp
|
bb04be12f8762500c1c308b0d1b93fe8f69c667f |
|
15-Dec-2012 |
Jim Ingham <jingham@apple.com> |
Remove the “len” defaulted parameter from CommandReturnObject::AppendMessage, AppendWarning and AppendError. Nobody was using them, and it meant if you accidentally used the AppendWarning when you meant AppendWarningWithFormat with an integer in the format string, it would compile and then return your string plus some unknown amount of junk. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBCommandReturnObject.cpp
|
b8fda50a3e97699af76a406f03d139ee1bd94d01 |
|
16-Oct-2012 |
Enrico Granata <egranata@apple.com> |
Removing the two extra GetXSize(bool) calls since we do not desire to support them long-term git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166060 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBCommandReturnObject.cpp
|
c2bc7944f7c2f10114426f447259a35acb0b1e18 |
|
16-Oct-2012 |
Enrico Granata <egranata@apple.com> |
<rdar://problem/12446320> Fixing an issue with our Driver where setting an immediate output would not cause suppression of the final printout. This allows effective output redirection for Python commands git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBCommandReturnObject.cpp
|
6d101887bb427b3c879c0c06775ab4dcb1cd265b |
|
29-Sep-2012 |
Enrico Granata <egranata@apple.com> |
Implementing plugins that provide commands. This checkin adds the capability for LLDB to load plugins from external dylibs that can provide new commands It exports an SBCommand class from the public API layer, and a new SBCommandPluginInterface There is a minimal load-only plugin manager built into the debugger, which can be accessed via Debugger::LoadPlugin. Plugins are loaded from two locations at debugger startup (LLDB.framework/Resources/PlugIns and ~/Library/Application Support/LLDB/PlugIns) and more can be (re)loaded via the "plugin load" command For an example of how to make a plugin, refer to the fooplugin.cpp file in examples/plugins/commands Caveats: Currently, the new API objects and features are not exposed via Python. The new commands can only be "parsed" (i.e. not raw) and get their command line via a char** parameter (we do not expose our internal Args object) There is no unloading feature, which can potentially lead to leaks if you overwrite the commands by reloading the same or different plugins There is no API exposed for option parsing, which means you may need to use getopt or roll-your-own git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBCommandReturnObject.cpp
|
839de396873071d193ed76b0206686af41540962 |
|
27-Jun-2012 |
Jim Ingham <jingham@apple.com> |
Make a way to set the result status for Python defined commands, and don't overwrite the status of the result if the python command has set it. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@159273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBCommandReturnObject.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/SBCommandReturnObject.cpp
|
d8b9b06fcf29565079ba8f3a87fb267d80bcc968 |
|
20-Aug-2011 |
Greg Clayton <gclayton@apple.com> |
Added the ability to create a SBCommandReturnObject object from a pointer and also to later release the ownership of the pointer object. This was needed for SWIG interaction. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBCommandReturnObject.cpp
|
6b1596d81c34c6efb10ed51a3572d6b145b73f5b |
|
17-Aug-2011 |
Enrico Granata <granata.enrico@gmail.com> |
Changes to Python commands: - They now have an SBCommandReturnObject instead of an SBStream as third argument - The class CommandObjectPythonFunction has been merged into CommandObjectCommands.cpp - The command to manage them is now: command script with subcommands add, list, delete, clear command alias is returned to its previous functionality - Python commands are now part of an user dictionary, instead of being seen as aliases git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBCommandReturnObject.cpp
|
2e8cb8a7342a2ea672792067d712a794e215a3a7 |
|
19-Feb-2011 |
Jim Ingham <jingham@apple.com> |
- Changed all the places where CommandObjectReturn was exporting a StreamString to just exporting a Stream, and then added GetOutputData & GetErrorData to get the accumulated data. - Added a StreamTee that will tee output to two provided lldb::StreamSP's. - Made the CommandObjectReturn use this so you can Tee the results immediately to the debuggers output file, as well as saving up the results to return when the command is done executing. - HandleCommands now uses this so that if you have a set of commands that continue the target you will see the commands come out as they are processed. - The Driver now uses this to output the command results as you go, which makes the interface more reactive seeming. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/API/SBCommandReturnObject.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/SBCommandReturnObject.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/SBCommandReturnObject.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/SBCommandReturnObject.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/SBCommandReturnObject.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/SBCommandReturnObject.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/SBCommandReturnObject.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/SBCommandReturnObject.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/SBCommandReturnObject.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/SBCommandReturnObject.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/SBCommandReturnObject.cpp
|