| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 139534
|
| |
|
|
| |
llvm-svn: 139529
|
| |
|
|
|
|
|
|
|
|
|
| |
result was not checked
to effect an early error return.
Plus add logic to 'frame variable' command object to check that when watchpoint option is on,
only one variable with exact name (no regex) is specified as the sole command arg.
llvm-svn: 139524
|
| |
|
|
| |
llvm-svn: 139490
|
| |
|
|
|
|
|
| |
Added a new log category for DWARF called "aranges" to log the parsing
of address ranges.
llvm-svn: 139489
|
| |
|
|
|
|
|
|
|
| |
and avoid returning a pointer to the current object. In the new
"operator bool" implementation, check the filename object first
since many times we have FileSpec objects with a filename, yet no
directory.
llvm-svn: 139488
|
| |
|
|
|
|
|
| |
of how ConstString objects work, and removed the duplicate and out of date
comments that were in the cpp file.
llvm-svn: 139487
|
| |
|
|
|
|
| |
changes that were just submitted.
llvm-svn: 139478
|
| |
|
|
|
|
|
|
|
|
|
| |
more efficiently when it contains a large number of items. Since
the map is actually a vector of "const char *" and type T values,
it will double in size every time you append to it. The extra
added functions allow the collection to be sized to fit the data
after all entries have been appended, and lookups by name or by
regex have been built in to the class to allow efficient lookup.
llvm-svn: 139477
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
name is "lldb". So currently when you startup any application and you
have not specified that you would like to skip loading init files through
the API or from "lldb" options, then LLDB will try and load:
"~/.lldbinit-%s" where %s the basename of your program
"~/.lldbinit"
Then LLDB will load any program specified on the command line and then
source the "./.llbinit" file for any temporary debug session specific
commands.
I want this feature because I have thread and frame formats that do
ANSI color codes that I only want to load when running in a terminal
which is when I am running the "lldb" command line program.
llvm-svn: 139476
|
| |
|
|
|
|
| |
OptionParsingStarting() lifecycle point.
llvm-svn: 139467
|
| |
|
|
|
|
| |
well.
llvm-svn: 139452
|
| |
|
|
| |
llvm-svn: 139448
|
| |
|
|
| |
llvm-svn: 139447
|
| |
|
|
|
|
|
|
| |
constant
with a template function 'arraysize(static_array)', defined in Utils.h.
llvm-svn: 139444
|
| |
|
|
| |
llvm-svn: 139435
|
| |
|
|
|
|
|
|
|
|
|
|
| |
watchpoint to the 'frame variable' comand.
To watch a variable for read/write, issue:
frame variable -w read_write
Note that '-w' option is not working yet. :-)
llvm-svn: 139434
|
| |
|
|
|
|
|
|
| |
Fixed up many API calls to not be "const" as const doesn't mean anything to
most of our lldb::SB objects since they contain a shared pointer, auto_ptr, or
pointer to the types which circumvent the constness anyway.
llvm-svn: 139428
|
| |
|
|
|
|
| |
which saves unnecessary traffic to the kernel.
llvm-svn: 139410
|
| |
|
|
| |
llvm-svn: 139402
|
| |
|
|
|
|
|
| |
correctly, symbols are coming soon. It also needs to be 32/64 bit hardened
with more testing.
llvm-svn: 139401
|
| |
|
|
|
|
|
|
|
|
|
| |
--show-aliases (-a) shows aliases for commands, as well as built-in commands
--hide-user-defined (-u) hides user defined commands
by default 'help' without arguments does not show aliases anymore. to see them, add --show-aliases
to have only built-in commands appear, use 'help --hide-user-defined' ; there is currently no way to hide
built-in commands from the help output
'help command' is not changed by this commit, and help is shown even if command is an alias and -a is not specified
llvm-svn: 139377
|
| |
|
|
|
|
|
|
| |
./build-swig-Python.sh: line 76: INTERFACE_FILES: command not found
when running SWIG, which was introduced during the last checkin.
llvm-svn: 139376
|
| |
|
|
| |
llvm-svn: 139372
|
| |
|
|
| |
llvm-svn: 139345
|
| |
|
|
| |
llvm-svn: 139342
|
| |
|
|
| |
llvm-svn: 139338
|
| |
|
|
|
|
| |
Mac OS X to track the allocation history of pointers on the target process
llvm-svn: 139337
|
| |
|
|
|
|
|
| |
One fixes a trailing comma bug (g++ doesn't like them)
The other gets the Error from the result of an expression evaluation and uses it as the error for the Process::LoadImage() method.
llvm-svn: 139336
|
| |
|
|
|
|
|
|
| |
CommandObjectFrameVariable.
Plus minor indentation change.
llvm-svn: 139335
|
| |
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 139323
|
| |
|
|
|
|
| |
StopInfoTrace or StopInfoWatchpoint based on the exc_sub_code, as well.
llvm-svn: 139315
|
| |
|
|
|
|
| |
command help to match the current LLDB.
llvm-svn: 139313
|
| |
|
|
| |
llvm-svn: 139294
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
callback method
in order to distinguish the real single step exception from a watchpoint exception
which uses the same exc_type of EXC_BREAKPOINT and exc_code of EXC_I386_SGL.
This is done by checking the debug status register to find out whether the watchpoint
data break event has fired, and, if yes, stuff the data break address into the exception's
exc_sub_code field on the debugserver side for lldb to consume on the other end.
llvm-svn: 139274
|
| |
|
|
|
|
| |
the stack & try to go up or at the bottom and try to go down.
llvm-svn: 139273
|
| |
|
|
| |
llvm-svn: 139271
|
| |
|
|
| |
llvm-svn: 139249
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
watchpoint
(MachThreadList::EnableHardwareWatchpoint()) where the watchpoint is not associated
with a thread and the current thread, if set, is returned, otherwise we return the
first thread.
Plus minor change to RNBRemote::HandlePacket_z() to use the existing macros to check
the validity of break_id/watch_id.
llvm-svn: 139246
|
| |
|
|
|
|
|
|
| |
INVALID_NUB_WATCH_ID
to determine its validity.
llvm-svn: 139209
|
| |
|
|
|
|
|
|
|
| |
explicative names and return shared-pointers instead of bools
Reduced the amount of memory required to avoid loops in DumpPrintableRepresentation() from 32 bits down to 1 bit
- Additionally, disallowed creating summary strings of the form ${var%S} which did nothing but cause endless loops by definition
llvm-svn: 139201
|
| |
|
|
|
|
|
|
| |
class (Not Tested Yet).
Also update the signature of WatchpointLocation::SetEnable() to take a bool as input arg.
llvm-svn: 139198
|
| |
|
|
| |
llvm-svn: 139174
|
| |
|
|
|
|
|
|
| |
an instance of watchpoint location list.
Also add a typefed for WatchpointLocationSP to lldb-forward-rtti.h.
llvm-svn: 139166
|
| |
|
|
|
|
|
|
|
| |
argument.
Plus for watchpoint related functions, add new macros INVALID_NUB_WATCH_ID and
NUB_WATCH_ID_IS_VALID and use them, instead.
llvm-svn: 139163
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- introduced two new classes ValueObjectConstResultChild and ValueObjectConstResultImpl: the first one is a ValueObjectChild obtained from
a ValueObjectConstResult, the second is a common implementation backend for VOCR and VOCRCh of method calls meant to read through pointers stored
in frozen objects ; now such reads transparently move from host to target as required
- as a consequence of the above, removed code that made target-memory copies of expression results in several places throughout LLDB, and also
removed code that enabled to recognize an expression result VO as such
- introduced a new GetPointeeData() method in ValueObject that lets you read a given amount of objects of type T from a VO
representing a T* or T[], and doing dereferences transparently
in private layer it returns a DataExtractor ; in public layer it returns an instance of a newly created lldb::SBData
- as GetPointeeData() does the right thing for both frozen and non-frozen ValueObject's, reimplemented ReadPointedString() to use it
en lieu of doing the raw read itself
- introduced a new GetData() method in ValueObject that lets you get a copy of the data that backs the ValueObject (for pointers,
this returns the address without any previous dereferencing steps ; for arrays it actually reads the whole chunk of memory)
in public layer this returns an SBData, just like GetPointeeData()
- introduced a new CreateValueFromData() method in SBValue that lets you create a new SBValue from a chunk of data wrapped in an SBData
the limitation to remember for this kind of SBValue is that they have no address: extracting the address-of for these objects (with any
of GetAddress(), GetLoadAddress() and AddressOf()) will return invalid values
- added several tests to check that "p"-ing objects (STL classes, char* and char[]) will do the right thing
Solved a bug where global pointers to global variables were not dereferenced correctly for display
New target setting "max-string-summary-length" gives the maximum number of characters to show in a string when summarizing it, instead of the hardcoded 128
Solved a bug where the summary for char[] and char* would not be shown if the ValueObject's were dumped via the "p" command
Removed m_pointers_point_to_load_addrs from ValueObject. Introduced a new m_address_type_of_children, which each ValueObject can set to tell the address type
of any pointers and/or references it creates. In the current codebase, this is load address most of the time (the only notable exception being file
addresses that generate file address children UNLESS we have a live process)
Updated help text for summary-string
Fixed an issue in STL formatters where std::stlcontainer::iterator would match the container's synthetic children providers
Edited the syntax and help for some commands to have proper argument types
llvm-svn: 139160
|
| |
|
|
|
|
|
| |
'size_t size', instead of 'lldb::tid_t tid'. Pass size to the StoppointLocation
ctor as well.
llvm-svn: 139131
|
| |
|
|
|
|
|
|
|
|
|
| |
Add a virtual method GetHardwareWatchpointHit() to the DNBArchProtocol base class
which consults the architecture to return the watchpoint hit; otherwise return an
invalid index.
Add impl. of the method to X86_64 and I386 subclasses, plus reset the debug status
register before we resume execution of the inferior thread.
llvm-svn: 139034
|
| |
|
|
| |
llvm-svn: 138996
|
| |
|
|
|
|
|
|
| |
register names when dumping variable locations and location lists. Also did
some cleanup where "int" types were being used for "lldb::RegisterKind"
values.
llvm-svn: 138988
|