| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
We have the tag when figuring out the fully qualified name, append a suitable name for other types of tags when no name is available.
llvm-svn: 177966
|
|
|
|
|
|
| |
Functions in "(anonymous namespace)" was causing LLDB to crash when trying to complete a type and it would also cause functions arguments to appear in wrong place in frame display when showing function arguments.
llvm-svn: 177965
|
|
|
|
| |
llvm-svn: 177964
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make register read and write accept $<regname> as valid.
This allows:
(lldb) reg read rbx
rbx = 0x0000000000000000
(lldb) reg read $rbx
rbx = 0x0000000000000000
(lldb) reg write $rbx 1
(lldb) reg read $rbx
rbx = 0x0000000000000001
to function correctly
It is not done at the RegisterContext level because we should keep the internal API clean of this user-friendly behavior and name registers appropriately.
If this ends up being needed in more places we can reconsider.
llvm-svn: 177961
|
|
|
|
|
|
| |
clearing the error messages here
llvm-svn: 177949
|
|
|
|
|
|
| |
SBTarget API.
llvm-svn: 177932
|
|
|
|
|
|
| |
pointer value as object>".
llvm-svn: 177926
|
|
|
|
|
|
| |
C String summary is emitting "<invalid usage of pointer value as object>" for bad pointers. Now it doesn't emit anything.
llvm-svn: 177913
|
|
|
|
|
|
| |
Don't hard code vm page size in profiling code
llvm-svn: 177907
|
|
|
|
|
|
| |
Only get the attach_info's user ID if the supplied user info is invalid.
llvm-svn: 177900
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ensure that option -Y also works for expression as it does for frame variable
Also, if the user passes an explicit format specifier when printing a variable, override the summary's decision to hide the value.
This is required for scenarios like this to work:
(lldb) p/x c
(Class) $0 = 0x0000000100adb7f8 NSObject
Previously this would say:
(lldb) p/x c
(Class) $0 = NSObject
ignoring the explicit format specifier
llvm-svn: 177893
|
|
|
|
|
|
|
|
|
|
|
|
| |
Making value objects properly iterable in constructs of the form
[ x for x in value_with_children ]
This would previously cause an endless loop because lacking a proper iterator object, Python will keep calling __getitem__() with increasing values of the index until it gets an IndexError
since SBValue::GetValueForExpressionPath() supports synthetic array members, no array index will ever really cause an IndexError to be raised, hence the endless iteration
class value_iter is an implementation of __iter__() that provides a terminating iterator over a value
llvm-svn: 177885
|
|
|
|
|
|
|
|
|
| |
went wrong and we tried to get layout information
that wasn't there.
<rdar://problem/13490170>
llvm-svn: 177880
|
|
|
|
|
|
| |
out why
llvm-svn: 177879
|
|
|
|
|
|
|
|
|
|
| |
SWIG and varargs do not get along well.
It is replaced by a Print("str") call which is equivalent to Printf("%s","str")
- Providing file-like behavior for SBStream with appropriate extension write() and flush() calls, plus documenting that these are only meant and only exist for Python
Documenting the file-like behavior on our website
llvm-svn: 177877
|
|
|
|
|
|
|
|
| |
off the inferior process so we stand a better chance of understanding
what caused us to send a PT_KILL.
<rdar://problem/12720340>
llvm-svn: 177817
|
|
|
|
|
|
| |
<rdar://problem/12281172>
llvm-svn: 177814
|
|
|
|
| |
llvm-svn: 177812
|
|
|
|
|
|
| |
the overhead of python interferes at all with our performance readings. We can try things out with this script and see how things go.
llvm-svn: 177811
|
|
|
|
| |
llvm-svn: 177810
|
|
|
|
|
|
|
|
|
|
| |
- memory delta and time for: target create
- memory delta and time for: setting breakpoint at main by name
- time to launch and hit bp at main
- overall memory of target create + bp main + run to main
- ovarall time of target create + bp main + run to main
llvm-svn: 177808
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Exports write() and flush() from SBCommandReturnObject to enable file-like output from Python commands.
e.g.:
def ls(debugger, command, result, internal_dict):
print >>result,”just “some output”
will produce
(lldb) ls
just “some output
(lldb)
llvm-svn: 177807
|
|
|
|
|
|
|
|
| |
commands of the form
frame variable -f c-string foo
where foo is an arbitrary pointer (e.g. void*) now do the right thing, i.e. they deref the pointer and try to get a c-string at the pointed address instead of dumping the pointer bytes as a string. the old behavior is used as a fallback if things don’t go well
llvm-svn: 177799
|
|
|
|
|
|
|
|
|
| |
class symbol in the same expression, handle all
of them instead of just the first one.
<rdar://problem/13440133>
llvm-svn: 177794
|
|
|
|
|
|
| |
file. This helps us avoid initializing python when it isn't needed.
llvm-svn: 177793
|
|
|
|
| |
llvm-svn: 177792
|
|
|
|
|
|
| |
also output the results to /dev/stdout when no outfile is supplied.
llvm-svn: 177791
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to in INADDR_LOOPBACK mode by default ("localhost only")
instead of INADDR_ANY ("accept connections from any system").
Add a new command line argument to debugserver, --open-connection
or -H which will enable the previous behavior. It would be used
if you were doing two-system debugging, with lldb running on one
system and debugserver running on the other. But it is a less
common workflow and should not be the default.
<rdar://problem/12583284>
llvm-svn: 177790
|
|
|
|
|
|
|
|
| |
skip every other float/double/long double as we extracted data
from a buffer.
<rdar://problem/13485062>
llvm-svn: 177779
|
|
|
|
| |
llvm-svn: 177776
|
|
|
|
|
|
|
|
| |
DWARFCallFrameInfo method which returns a RangeVector pre-size the
vector based on the number of entries it will be adding insted of
growing the vector as items are added.
llvm-svn: 177773
|
|
|
|
| |
llvm-svn: 177759
|
|
|
|
|
|
| |
(CFCMutableDictionary, CFCMutableArray, CFCString, etc). Now it is only used in the Results.cpp file for Apple builds only.
llvm-svn: 177697
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added new abtract Results class to keep CoreFoundation out of the tests. There are many subclasses for different settings:
Results::Result::Dictionary
Results::Result::Array
Results::Result::Unsigned
Results::Result::Double
Results::Result::String
- Gauge<T> can now write themselves out via a templatized write to results function:
template <class T>
Results::ResultSP GetResult (const char *description, T value);
- There are four specializations of this so far:
template <>
Results::ResultSP GetResult (const char *description, double value);
template <>
Results::ResultSP GetResult (const char *description, uint64_t value);
template <>
Results::ResultSP GetResult (const char *description, std::string value);
template <>
Results::ResultSP GetResult (const char *description, MemoryStats value);
- Don't emit the virtual memory reading from the task info call as it really doesn't mean much as it includes way too much (shared cache + other stuff we don't have control over)
- Fixed other test cases to build correctly and use the new classes
llvm-svn: 177696
|
|
|
|
|
|
|
|
|
|
|
| |
resolving the target of an ObjC method call.
Add a StopOthers method to AppleThreadPlanStepThroughObjCTrampoline, don't rely on the setting in the ThreadPlanToCallFunction, since that
gets pushed too late to determine which threads will continue.
<rdar://problem/13447638>
llvm-svn: 177691
|
|
|
|
|
|
| |
It won't have one and it isn't needed.
llvm-svn: 177688
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang requires them to have complete types, but
we were previously only completing them if they
were of tag or Objective-C object types.
I have implemented a method on the ASTImporter
whose job is to complete a type. It handles not
only the cases mentioned above, but also array
and atomic types.
<rdar://problem/13446777>
llvm-svn: 177672
|
|
|
|
|
|
|
|
| |
user about it rather than continuing.
<rdar://problem/13273125> Astris thread status replies for single-core device confuse lldb; lldb resumes execution on attaching
llvm-svn: 177670
|
|
|
|
| |
llvm-svn: 177668
|
|
|
|
| |
llvm-svn: 177663
|
|
|
|
| |
llvm-svn: 177646
|
|
|
|
| |
llvm-svn: 177625
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This returns a vector of <file address, size> entries for all of
the functions in the module that have an eh_frame FDE.
Update ObjectFileMachO to use the eh_frame FDE function addresses if
the LC_FUNCTION_STARTS section is missing, to fill in the start
addresses of any symbols that have been stripped from the binary.
Generally speaking, lldb works best if it knows the actual start
address of every function in a module - it's especially important
for unwinding, where lldb inspects the instructions in the prologue
of the function. In a stripped binary, it is deprived of this
information and it reduces the quality of our unwinds and saved
register retrieval.
Other ObjectFile users may want to use the function addresses from
DWARFCallFrameInfo to fill in any stripped symbols like ObjectFileMachO
does already.
<rdar://problem/13365659>
llvm-svn: 177624
|
|
|
|
| |
llvm-svn: 177623
|
|
|
|
|
|
|
|
| |
debugging clang with LLDB.
This test case will measure memory usage and expression timings in frame zero and at higher frames.
llvm-svn: 177617
|
|
|
|
|
|
| |
DataExtractor::BytesLeft() to return the correct value.
llvm-svn: 177616
|
|
|
|
|
|
| |
DNBDataRef::ValidOffset() functions.
llvm-svn: 177615
|
|
|
|
|
|
|
|
|
|
| |
call start() and stop() instead of using the function-call syntax
This is especially useful to take measurements that span multiple test steps, or where you need to have different operations fall under the same measurement
An example of use is in the formatters perf test case
llvm-svn: 177597
|
|
|
|
| |
llvm-svn: 177594
|
|
|
|
| |
llvm-svn: 177587
|