| #
ac9c3a62 |
| 26-Aug-2016 |
Kate Stone <[email protected]> |
Tables of command options in LLDB benefit from hand-formatting to make it easier to scan a set of options with a relatively large number of positional arguments. This commit standardizes their format
Tables of command options in LLDB benefit from hand-formatting to make it easier to scan a set of options with a relatively large number of positional arguments. This commit standardizes their formatting throughout LLDB and applies surrounding directives to exempt them from being formatted by clang-format.
These kinds of exemptions should be rare cases that benefit significantly from alternative formatting. They also imply a long-term obligation to maintain their format since the automated tools will not do so.
llvm-svn: 279882
show more ...
|
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2 |
|
| #
e1cfbc79 |
| 11-Aug-2016 |
Todd Fiala <[email protected]> |
Decoupled Options from CommandInterpreter.
Options used to store a reference to the CommandInterpreter instance in the base Options class. This made it impossible to parse options independent of a
Decoupled Options from CommandInterpreter.
Options used to store a reference to the CommandInterpreter instance in the base Options class. This made it impossible to parse options independent of a CommandInterpreter.
This change removes the reference from the base class. Instead, it modifies the options-parsing-related methods to take an ExecutionContext pointer, which the options may inspect if they need to do so.
Closes https://reviews.llvm.org/D23416 Reviewers: clayborg, jingham
llvm-svn: 278440
show more ...
|
|
Revision tags: llvmorg-3.9.0-rc1 |
|
| #
7428a18c |
| 14-Jul-2016 |
Kate Stone <[email protected]> |
LLDB help content has accumulated over time without a recent attempt to review it for consistency, accuracy, and clarity. These changes attempt to address all of the above while keeping the text rela
LLDB help content has accumulated over time without a recent attempt to review it for consistency, accuracy, and clarity. These changes attempt to address all of the above while keeping the text relatively terse.
<rdar://problem/24868841>
llvm-svn: 275485
show more ...
|
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
| #
bb19a13c |
| 19-May-2016 |
Saleem Abdulrasool <[email protected]> |
second pass over removal of Mutex and Condition
llvm-svn: 270024
|
| #
8d94ba0f |
| 12-Mar-2016 |
Jim Ingham <[email protected]> |
This change introduces a "ExpressionExecutionThread" to the ThreadList.
Turns out that most of the code that runs expressions (e.g. the ObjC runtime grubber) on behalf of the expression parser was
This change introduces a "ExpressionExecutionThread" to the ThreadList.
Turns out that most of the code that runs expressions (e.g. the ObjC runtime grubber) on behalf of the expression parser was using the currently selected thread. But sometimes, e.g. when we are evaluating breakpoint conditions/commands, we don't select the thread we're running on, we instead set the context for the interpreter, and explicitly pass that to other callers. That wasn't getting communicated to these utility expressions, so they would run on some other thread instead, and that could cause a variety of subtle and hard to reproduce problems.
I also went through the commands and cleaned up the use of GetSelectedThread. All those uses should have been trying the thread in the m_exe_ctx belonging to the command object first. It would actually have been pretty hard to get misbehavior in these cases, but for correctness sake it is good to make this usage consistent.
<rdar://problem/24978569>
llvm-svn: 263326
show more ...
|
|
Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3 |
|
| #
49bcfd80 |
| 23-Feb-2016 |
Eugene Zelenko <[email protected]> |
Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in some files in source/Commands; other minor fixes.
llvm-svn: 261602
|
|
Revision tags: llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1 |
|
| #
962260c8 |
| 08-Jan-2016 |
Jim Ingham <[email protected]> |
Fix a glitch in the Driver's batch mode when used with "attach".
Batch mode is supposed to stop execution and return control to the user when an exceptional stop occurs (crash, signal or instrumen
Fix a glitch in the Driver's batch mode when used with "attach".
Batch mode is supposed to stop execution and return control to the user when an exceptional stop occurs (crash, signal or instrumentation). But attach always stops with a SIGSTOP on OSX (maybe on Linux too?) which would short circuit the rest of the commands given.
This change allows a command result object to indicate that it expected to leave the process stopped with an exceptional stop reason, and it is okay for batch mode to keep going.
<rdar://problem/22243143>
llvm-svn: 257120
show more ...
|
| #
ccd6cffb |
| 08-Dec-2015 |
Tamas Berghammer <[email protected]> |
Modify "platform connect" to connect to processes as well
The standard remote debugging workflow with gdb is to start the application on the remote host under gdbserver (e.g.: gdbserver :5039 a.out)
Modify "platform connect" to connect to processes as well
The standard remote debugging workflow with gdb is to start the application on the remote host under gdbserver (e.g.: gdbserver :5039 a.out) and then connect to it with gdb.
The same workflow is supported by debugserver/lldb-gdbserver with a very similar syntax but to access all features of lldb we need to be connected also to an lldb-platform instance running on the target.
Before this change this had to be done manually with starting a separate lldb-platform on the target machine and then connecting to it with lldb before connecting to the process.
This change modifies the behavior of "platform connect" with automatically connecting to the process instance if it was started by the remote platform. With this command replacing gdbserver in a gdb based worflow is usually as simple as replacing the command to execute gdbserver with executing lldb-platform.
Differential revision: http://reviews.llvm.org/D14952
llvm-svn: 255016
show more ...
|
| #
4fbd67ac |
| 08-Dec-2015 |
Tamas Berghammer <[email protected]> |
Add a new option to Platform::LoadImage to install the image
This change introduce 3 different working mode for Platform::LoadImage depending on the file specs specified. * If only a remote file is
Add a new option to Platform::LoadImage to install the image
This change introduce 3 different working mode for Platform::LoadImage depending on the file specs specified. * If only a remote file is specified then the remote file is loaded on the target (same behavior as before) * If only a local file is specified then the local file is installed to the current working directory and then loaded from there. * If both local and remote file is specified then the local file is installed to the specified location and then loaded from there.
The same options are exposed on the SB API with a new method LoadImage method while the old signature presers its meaning.
On the command line the installation of the shared library can be specified with the "--install" option of "process load".
Differential revision: http://reviews.llvm.org/D15152
llvm-svn: 255014
show more ...
|
| #
3cb132a0 |
| 02-Dec-2015 |
Tamas Berghammer <[email protected]> |
Fix "process load/unload" on android
On android the symbols exposed by libdl (dlopen, dlclose, dlerror) prefixed by "__dl_". This change moves the handling of process load/unload to the platform obj
Fix "process load/unload" on android
On android the symbols exposed by libdl (dlopen, dlclose, dlerror) prefixed by "__dl_". This change moves the handling of process load/unload to the platform object and override it for android to handle the special prefix.
Differential revision: http://reviews.llvm.org/D11465
llvm-svn: 254504
show more ...
|
|
Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
| #
13d21e9a |
| 07-Oct-2015 |
Bruce Mitchener <[email protected]> |
commands: Use override instead of virtual.
Summary: This removes all uses of virtual on functions where override could be used, including on destructors.
It also adds override where virtual was pre
commands: Use override instead of virtual.
Summary: This removes all uses of virtual on functions where override could be used, including on destructors.
It also adds override where virtual was previously missing.
Reviewers: clayborg, labath
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D13503
llvm-svn: 249564
show more ...
|
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1 |
|
| #
ea671fbd |
| 14-Jul-2015 |
Kate Stone <[email protected]> |
Fixed line wrapping for the "long help" content in LLDB commands. Content is now dynamically wrapped for the column width of the current terminal. Lines that begin with whitespace will be indented
Fixed line wrapping for the "long help" content in LLDB commands. Content is now dynamically wrapped for the column width of the current terminal. Lines that begin with whitespace will be indented identically on subsequent lines to maintain formatting.
Existing commands supplying this type of help content have been reworked to take advantage of the changes. In addition to formatting changes, content was changes for accuracy and clarity purposes. <rdar://problem/21269977>
llvm-svn: 242122
show more ...
|
| #
98d0a4b3 |
| 14-Jul-2015 |
Chaoren Lin <[email protected]> |
Refactor Unix signals.
Summary: - Consolidate Unix signals selection in UnixSignals. - Make Unix signals available from platform. - Add jSignalsInfo packet to retrieve Unix signals from remote platf
Refactor Unix signals.
Summary: - Consolidate Unix signals selection in UnixSignals. - Make Unix signals available from platform. - Add jSignalsInfo packet to retrieve Unix signals from remote platform. - Get a copy of the platform signal for each remote process. - Update SB API for signals. - Update signal utility in test suite.
Reviewers: ovyalov, clayborg
Subscribers: chaoren, jingham, labath, emaste, tberghammer, lldb-commits
Differential Revision: http://reviews.llvm.org/D11094
llvm-svn: 242101
show more ...
|
|
Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
| #
1124045a |
| 29-May-2015 |
Zachary Turner <[email protected]> |
Don't #include "lldb-python.h" from anywhere.
Since interaction with the python interpreter is moving towards being more isolated, we won't be able to include this header from normal files anymore,
Don't #include "lldb-python.h" from anywhere.
Since interaction with the python interpreter is moving towards being more isolated, we won't be able to include this header from normal files anymore, all includes of it should be localized to the python library which will live under source/bindings/API/Python after a future patch.
None of the files that were including this header actually depended on it anyway, so it was just a dead include in every single instance.
llvm-svn: 238581
show more ...
|
| #
4446487d |
| 27-May-2015 |
Pavel Labath <[email protected]> |
Improve LLDB prompt handling
Summary: There is an issue in lldb where the command prompt can appear at the wrong time. The partial fix we have in for this is not working all the time and is introduc
Improve LLDB prompt handling
Summary: There is an issue in lldb where the command prompt can appear at the wrong time. The partial fix we have in for this is not working all the time and is introducing unnecessary delays. This change does: - Change Process:SyncIOHandler to use integer start id's for synchronization to avoid it being confused by quick start-stop cycles. I picked this up from a suggested patch by Greg to lldb-dev. - coordinates printing of asynchronous text with the iohandlers. This is also based on a (different) Greg's patch, but I have added stronger synchronization to it to avoid races.
Together, these changes solve the prompt problem for me on linux (both with and without libedit). I think they should behave similarly on Mac and FreeBSD and I think they will not make matters worse for windows.
Test Plan: Prompt comes out alright. All tests still pass on linux.
Reviewers: clayborg, emaste, zturner
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D9823
llvm-svn: 238313
show more ...
|
| #
e87764f2 |
| 27-May-2015 |
Enrico Granata <[email protected]> |
Add support for custom commands to set flags on themselves This works for Python commands defined via a class (implement get_flags on your class) and C++ plugin commands (which can call SBCommand::Ge
Add support for custom commands to set flags on themselves This works for Python commands defined via a class (implement get_flags on your class) and C++ plugin commands (which can call SBCommand::GetFlags()/SetFlags())
Flags allow features such as not letting the command run if there's no target, or if the process is not stopped, ... Commands could always check for these things themselves, but having these accessible via flags makes custom commands more consistent with built-in ones
llvm-svn: 238286
show more ...
|
| #
b84141a6 |
| 22-May-2015 |
Pavel Labath <[email protected]> |
Add real time signals support to LinuxSignals
Summary: This enables correct handling of real time signals by lldb.
Test Plan: Added a test that verifies handling of SIGRTMIN
Reviewers: tberghammer
Add real time signals support to LinuxSignals
Summary: This enables correct handling of real time signals by lldb.
Test Plan: Added a test that verifies handling of SIGRTMIN
Reviewers: tberghammer, ovyalov
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D9911
llvm-svn: 238009
show more ...
|
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
| #
8f0db3e1 |
| 07-May-2015 |
Ilia K <[email protected]> |
Don't call the Process::SyncIOHandler in Target::Launch
Summary: This patch moves synchronization of iohandler to CommandObjectProcessLaunch::DoExecute like it was done in CommandObjectProcessContin
Don't call the Process::SyncIOHandler in Target::Launch
Summary: This patch moves synchronization of iohandler to CommandObjectProcessLaunch::DoExecute like it was done in CommandObjectProcessContinue::DoExecute.
Reviewers: jingham, clayborg
Reviewed By: clayborg
Subscribers: lldb-commits, clayborg, jingham
Differential Revision: http://reviews.llvm.org/D9373
llvm-svn: 236699
show more ...
|
| #
8980e6bc |
| 01-May-2015 |
Jason Molenda <[email protected]> |
Change process kill to call Process::Destroy (force_kill = true); follow-up to the change in r235158. Right now if you attach to a process and type "kill", lldb doesn't kill it, it detaches. <rdar:
Change process kill to call Process::Destroy (force_kill = true); follow-up to the change in r235158. Right now if you attach to a process and type "kill", lldb doesn't kill it, it detaches. <rdar://problem/20691198>
llvm-svn: 236363
show more ...
|
| #
ede3193b |
| 17-Apr-2015 |
Jason Molenda <[email protected]> |
Add a "force_kill" arg to Process::Destroy(). This is needed after the changes in r233255/r233258. Normally if lldb attaches to a running process, when we call Process::Destroy, we want to detach f
Add a "force_kill" arg to Process::Destroy(). This is needed after the changes in r233255/r233258. Normally if lldb attaches to a running process, when we call Process::Destroy, we want to detach from the process. If lldb launched the process itself, ::Destroy should kill it.
However, if we attach to a process and the driver calls SBProcess::Kill() (which calls Destroy), we need to kill it even if we didn't launch it originally.
The force_kill param allows for the SBProcess::Kill method to force the behavior of Destroy.
<rdar://problem/20424439>
llvm-svn: 235158
show more ...
|
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1 |
|
| #
93749ab3 |
| 03-Mar-2015 |
Zachary Turner <[email protected]> |
Further reduce the header footprint of Process.h
No functional change here, only deletes unnecessary headers and moves one function's body from the .h file to the .cpp.
llvm-svn: 231145
|
|
Revision tags: llvmorg-3.6.0, llvmorg-3.6.0-rc4 |
|
| #
cc39d3f4 |
| 13-Feb-2015 |
Ilia K <[email protected]> |
Fix Arg0 argument after r229110. The problem was that Arg0ValueChangedCallback isn't twitching when Arg0 was updated, therefore target was launched with empty 1st argument or without it at all. In th
Fix Arg0 argument after r229110. The problem was that Arg0ValueChangedCallback isn't twitching when Arg0 was updated, therefore target was launched with empty 1st argument or without it at all. In this patch I update Arg0 by hand.
llvm-svn: 229125
show more ...
|
| #
8f37ca56 |
| 13-Feb-2015 |
Ilia K <[email protected]> |
Add -exec-arguments command
Summary: This patch adds -exec-arguments command for lldb-mi. -exec-arguments command allows to specify arguments for executable file in MI mode. Also it contains tests f
Add -exec-arguments command
Summary: This patch adds -exec-arguments command for lldb-mi. -exec-arguments command allows to specify arguments for executable file in MI mode. Also it contains tests for that command.
Btw, new added files was formatted by clang-format.
Reviewers: abidh, zturner, clayborg
Reviewed By: clayborg
Subscribers: zturner, emaste, clayborg, jingham, lldb-commits
Differential Revision: http://reviews.llvm.org/D6965
llvm-svn: 229110
show more ...
|
|
Revision tags: llvmorg-3.6.0-rc3 |
|
| #
37386143 |
| 10-Feb-2015 |
Oleksiy Vyalov <[email protected]> |
Extract attach core logic from SBTarget::Attach* methods into unified SBTarget::AttachToProcess and make it work with platform for remote attach purposes.
http://reviews.llvm.org/D7471
llvm-svn: 22
Extract attach core logic from SBTarget::Attach* methods into unified SBTarget::AttachToProcess and make it work with platform for remote attach purposes.
http://reviews.llvm.org/D7471
llvm-svn: 228757
show more ...
|
| #
926af0cd |
| 03-Feb-2015 |
Oleksiy Vyalov <[email protected]> |
Make "process attach" command to support attaching to remote process in case if selected platform allows this.
http://reviews.llvm.org/D7358
llvm-svn: 227899
|