- Jan 09, 2013
-
-
rdar://problem/12028723Enrico Granata authored
Adding useful formatting options to the expression (expr) command. As a side effect of this change, the -d option now supports the same three-values enumeration that frame variables uses (run, don't run, none) instead of a boolean like it did previously These options do not apply to print, p or po because these are aliased to not take any options. In order to use them, use expression or expr. llvm-svn: 171993
-
Greg Clayton authored
Expanded the flags that can be set for a command object in lldb_private::CommandObject. This list of available flags are: enum { //---------------------------------------------------------------------- // eFlagRequiresTarget // // Ensures a valid target is contained in m_exe_ctx prior to executing // the command. If a target doesn't exist or is invalid, the command // will fail and CommandObject::GetInvalidTargetDescription() will be // returned as the error. CommandObject subclasses can override the // virtual function for GetInvalidTargetDescription() to provide custom // strings when needed. //---------------------------------------------------------------------- eFlagRequiresTarget = (1u << 0), //---------------------------------------------------------------------- // eFlagRequiresProcess // // Ensures a valid process is contained in m_exe_ctx prior to executing // the command. If a process doesn't exist or is invalid, the command // will fail and CommandObject::GetInvalidProcessDescription() will be // returned as the error. CommandObject subclasses can override the // virtual function for GetInvalidProcessDescription() to provide custom // strings when needed. //---------------------------------------------------------------------- eFlagRequiresProcess = (1u << 1), //---------------------------------------------------------------------- // eFlagRequiresThread // // Ensures a valid thread is contained in m_exe_ctx prior to executing // the command. If a thread doesn't exist or is invalid, the command // will fail and CommandObject::GetInvalidThreadDescription() will be // returned as the error. CommandObject subclasses can override the // virtual function for GetInvalidThreadDescription() to provide custom // strings when needed. //---------------------------------------------------------------------- eFlagRequiresThread = (1u << 2), //---------------------------------------------------------------------- // eFlagRequiresFrame // // Ensures a valid frame is contained in m_exe_ctx prior to executing // the command. If a frame doesn't exist or is invalid, the command // will fail and CommandObject::GetInvalidFrameDescription() will be // returned as the error. CommandObject subclasses can override the // virtual function for GetInvalidFrameDescription() to provide custom // strings when needed. //---------------------------------------------------------------------- eFlagRequiresFrame = (1u << 3), //---------------------------------------------------------------------- // eFlagRequiresRegContext // // Ensures a valid register context (from the selected frame if there // is a frame in m_exe_ctx, or from the selected thread from m_exe_ctx) // is availble from m_exe_ctx prior to executing the command. If a // target doesn't exist or is invalid, the command will fail and // CommandObject::GetInvalidRegContextDescription() will be returned as // the error. CommandObject subclasses can override the virtual function // for GetInvalidRegContextDescription() to provide custom strings when // needed. //---------------------------------------------------------------------- eFlagRequiresRegContext = (1u << 4), //---------------------------------------------------------------------- // eFlagTryTargetAPILock // // Attempts to acquire the target lock if a target is selected in the // command interpreter. If the command object fails to acquire the API // lock, the command will fail with an appropriate error message. //---------------------------------------------------------------------- eFlagTryTargetAPILock = (1u << 5), //---------------------------------------------------------------------- // eFlagProcessMustBeLaunched // // Verifies that there is a launched process in m_exe_ctx, if there // isn't, the command will fail with an appropriate error message. //---------------------------------------------------------------------- eFlagProcessMustBeLaunched = (1u << 6), //---------------------------------------------------------------------- // eFlagProcessMustBePaused // // Verifies that there is a paused process in m_exe_ctx, if there // isn't, the command will fail with an appropriate error message. //---------------------------------------------------------------------- eFlagProcessMustBePaused = (1u << 7) }; Now each command object contains a "ExecutionContext m_exe_ctx;" member variable that gets initialized prior to running the command. The validity of the target objects in m_exe_ctx are checked to ensure that any target/process/thread/frame/reg context that are required are valid prior to executing the command. Each command object also contains a Mutex::Locker m_api_locker which gets used if eFlagTryTargetAPILock is set. This centralizes a lot of checking code that was previously and inconsistently implemented across many commands. llvm-svn: 171990
-
Jim Ingham authored
Add a "--reverse" or "-r" option to the "list" with no options command. This will list backwards from the last source point listed. Also fix the setting of the default file & line to the file containing main, when you do a plain "list". <rdar://problem/12685226> llvm-svn: 171945
-
Jim Ingham authored
Add an SBProcess API to get the current StopID, either considering or ignoring stops caused by expression evaluation. <rdar://problem/12968562> llvm-svn: 171914
-
- Jan 08, 2013
-
-
rdar://problem/12976225Han Ming Ong authored
Checking in the support for doing index ids reservation when given a thread id. llvm-svn: 171904
-
rdar://problem/12586010Greg Clayton authored
Python OS plug-ins now fetch thread registers lazily. Also changed SBCommandInterpreter::HandleCommand() to not take the API lock. The logic here is that from the command line you can execute a command that might result in another thread (like the private process thread) to execute python or run any code that can re-enter the public API. When this happens, a deadlock immediately occurs for things like "process launch" and "process attach". llvm-svn: 171901
-
Greg Clayton authored
llvm-svn: 171900
-
Matt Kopec authored
llvm-svn: 171864
-
Daniel Malea authored
- Fixes test case TestConnectRemote llvm-svn: 171855
-
Daniel Malea authored
Implement -w flag to process launch (allow launching inferior process in different working directory) on Linux/FreeBSD - fixes test case TestProcessLaunch llvm-svn: 171854
-
rdar://problem/12968925Enrico Granata authored
Ensuring that the Module's FileSpec is not NULL before attempting to deref it for loading the python scripting resource llvm-svn: 171838
-
Matt Kopec authored
Fix TestSendSignals.py on Linux. The wrong stop reason was being set when stopping for a received signal. llvm-svn: 171819
-
rdar://problem/12953853Greg Clayton authored
Setting breakpoints using "breakpoint set --selector <SEL>" previously didn't when there was no dSYM file. Also fixed issues in the test suite that arose after fixing the bug. Also fixed the log channels to properly ref count the log streams using weak pointers to the streams. This fixes a test suite problem that would happen when you specified a full path to the compiler with the "--compiler" option. llvm-svn: 171816
-
Enrico Granata authored
llvm-svn: 171810
-
- Jan 05, 2013
-
-
rdar://problem/12389806Jason Molenda authored
Have the disassembler's Instruction::Dump always insert at least one space character between an opcode and its arguments, don't let a long opcode name abut the arguments. llvm-svn: 171561
-
Daniel Malea authored
- now prints the correct PYTHONPATH - update dotest.py to use lldb -P result correctly - resolves TestPublicAPIHeaders test failure (on Linux) llvm-svn: 171558
-
Sean Callanan authored
instead of failing to read. <rdar://problem/12958589> llvm-svn: 171552
-
- Jan 04, 2013
-
-
Andrew Kaylor authored
llvm-svn: 171548
-
rdar://problem/12928282Greg Clayton authored
Added SBTarget::EvaluateExpression() so expressions can be evaluated without needing a process. Also fixed many functions that deal with clang AST types to be able to properly handle the clang::Type::Elaborated types ("struct foo", "class bar"). llvm-svn: 171476
-
- Jan 03, 2013
-
-
Sean Callanan authored
for id types with protocols on them. We detect this and report "id" instead. Also added a testcase. <rdar://problem/12595644> llvm-svn: 171431
-
- Jan 02, 2013
-
-
Chandler Carruth authored
llvm-svn: 171381
-
Chandler Carruth authored
migration in r171366. I don't know anything about lldb, but a force run of the build bot indicated it would need this patch. I'll try to watch the build bot to get it green. llvm-svn: 171374
-
- Dec 22, 2012
-
-
Jim Ingham authored
llvm-svn: 170975
-
- Dec 21, 2012
-
-
Sean Callanan authored
the IR interpreter. <rdar://problem/12921700> llvm-svn: 170934
-
Jim Ingham authored
Added an SBAPI to get the PythonPath (if the Host knows how to do that). And a -P option to the Driver to print it out. Changed dotest.py to use that to find the PythonPath it should use given the lldb binary it was told to run. llvm-svn: 170932
-
Sean Callanan authored
The results from Clang name lookups changed to be ArrayRefs, so I had to change the way we check for the presence of a result and the way we iterate across results. llvm-svn: 170927
-
Sean Callanan authored
slice of a fat dSYM in certain cases. <rdar://problem/12921206> llvm-svn: 170926
-
Andrew Kaylor authored
llvm-svn: 170800
-
- Dec 20, 2012
-
-
Jim Ingham authored
If we can't find the python function for a given summary, print the name of the function in the warning message. llvm-svn: 170729
-
Jason Molenda authored
a bit. llvm-svn: 170641
-
rdar://problem/12903081Enrico Granata authored
When looking for the Python script to load for a given module, replace dots with underscores if there are any after stripping the extension This means that for a module named foo.devel.xyz a file named foo_devel.py will be what we try to load llvm-svn: 170633
-
rdar://problem/12446222Enrico Granata authored
Implement the ability for Python commands to be interrupted by pressing CTRL+C Also add a new Mutex subclass that attempts to be helpful for debugging by logging actions performed on it FYI of all interested - there is a separate deadlocking issue related to how LLDB dispatches CTRL+C that might cause LLDB to deadlock upon pressing CTRL+C while in a Python command. This is not a regression, and was just previously masked by us not even trying to bail out of Python commands, so that it would not be clear from a user perspective whether we were deadlocked or stuck in an inconsistent state within the Python interpreter. llvm-svn: 170612
-
Sean Callanan authored
for reporting class types from Objective-C runtime class symbols. Instead, LLDB now queries the Objective-C runtime for class types. We have also added a (minimal) Objective-C runtime type vendor for Objective-C runtime version 1, to prevent regressions when calling class methods in the V1 runtime. Other components of this fix include: - We search the Objective-C runtime in a few more places. - We enable enumeration of all members of Objective-C classes, which Clang does in certain circumstances. - SBTarget::FindFirstType and SBTarget::FindTypes now query the Objective-C runtime as needed. - I fixed several test cases. <rdar://problem/12885034> llvm-svn: 170601
-
- Dec 19, 2012
-
-
rdar://problem/11961650Jason Molenda authored
Update the debugserver "qProcessInfo" implementation to return the cpu type, cpu subtype, OS and vendor information just like qHostInfo does so lldb can create an ArchSpec based on the returned values. Add a new GetProcessArchitecture to GDBRemoteCommunicationClient akin to GetHostArchitecture. If the qProcessInfo packet is supported, GetProcessArchitecture will return the cpu type / subtype of the process -- e.g. a 32-bit user process running on a 64-bit x86_64 Mac system. Have ProcessGDBRemote set the Target's architecture based on the GetProcessArchitecture when we've completed an attach/launch/connect. llvm-svn: 170491
-
Greg Clayton authored
Don't read the SP when getting argument values from registers in case the SP isn't available. We don't want the availability of SP to limit when we get get arguments from registers. llvm-svn: 170476
-
- Dec 18, 2012
-
-
Daniel Malea authored
llvm-svn: 170447
-
Daniel Malea authored
- make FreeBSD ProcessMonitor API thread-ready Patch by Matt Kopec! llvm-svn: 170445
-
Jim Ingham authored
<rdar://problem/11597849> llvm-svn: 170400
-
Sean Callanan authored
the AST result synthesizer's logging. <rdar://problem/12889053> llvm-svn: 170396
-
- Dec 15, 2012
-
-
Jim Ingham authored
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. llvm-svn: 170266
-