| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
adding support into lldb_private::Process:
virtual uint32_t
lldb_private::Process::LoadImage (const FileSpec &image_spec,
Error &error);
virtual Error
lldb_private::Process::UnloadImage (uint32_t image_token);
There is a default implementation that should work for both linux and MacOSX.
This ability has also been exported through the SBProcess API:
uint32_t
lldb::SBProcess::LoadImage (lldb::SBFileSpec &image_spec,
lldb::SBError &error);
lldb::SBError
lldb::SBProcess::UnloadImage (uint32_t image_token);
Modified the DynamicLoader plug-in interface to require it to be able to
tell us if it is currently possible to load/unload a shared library:
virtual lldb_private::Error
DynamicLoader::CanLoadImage () = 0;
This way the dynamic loader plug-ins are allows to veto whether we can
currently load a shared library since the dynamic loader might know if it is
currenlty loading/unloading shared libraries. It might also know about the
current host system and know where to check to make sure runtime or malloc
locks are currently being held.
Modified the expression parser to have ClangUserExpression::Evaluate() be
the one that causes the dynamic checkers to be loaded instead of other code
that shouldn't have to worry about it.
llvm-svn: 118227
|
| |
|
|
|
|
|
| |
implementation of the Objective-C object checkers
into the Objective-C language runtime.
llvm-svn: 118226
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
RegisterContextLLDB holds a reference to the SymbolContext
in the vector of Cursors that UnwindLLDB maintains. Switch
UnwindLLDB to hold a vector of shared pointers of Cursors
so this reference doesn't become invalid.
Correctly falling back from the "fast" UnwindPlan to the
"full" UnwindPlan when additional registers need to be
retrieved.
llvm-svn: 118218
|
| |
|
|
|
|
|
|
| |
exceptions for different languages out of
ThreadPlanCallFunction and put it into the
appropriate language runtimes.
llvm-svn: 118200
|
| |
|
|
|
|
|
|
| |
exception checks at the right time, and modified
ClangFunction so that it doesn't misinterpret the
stop as a timeout stop.
llvm-svn: 118189
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the end of the list. We had an issue in the MacOSX dynamic loader where if
we had shlibs:
1 - a.out
2 - a.dylib
3 - b.dylib
And then a.dylib got unloaded, we would unload b.dylib due to the assumption
that only shared libraries could come off the end of the list. We now properly
search and find which ones get loaded.
Added a new internal logging category for the "lldb" log channel named "dyld".
This should allow all dynamic loaders to use this as a generic log channel so
we can track shared library loads and unloads in the logs without having to
have each plug-in make up its own logging channel.
llvm-svn: 118147
|
| |
|
|
|
|
|
|
| |
set breakpoints at the different locations where
an exception could be thrown, so that exceptions
thrown by expressions are properly caught.
llvm-svn: 118142
|
| |
|
|
|
|
|
| |
for a global variable that we had replaced with
a reference to a slot in the input array.
llvm-svn: 118123
|
| |
|
|
|
|
|
| |
on i386 platforms, leading to crashes on simple
expressions.
llvm-svn: 118114
|
| |
|
|
|
|
| |
children always incorrectly displayed the child at offset zero.
llvm-svn: 118070
|
| |
|
|
| |
llvm-svn: 118036
|
| |
|
|
| |
llvm-svn: 118033
|
| |
|
|
|
|
|
|
|
|
| |
ptrace thread update that was replying to the SIGSTOP was also causing the
process to not really be sigstop'd any more so then the call to ptrace
detach was failing, and when debugserver exited the attached process
was being killed. Now the ptrace thread update does not disturb the sigstop
state of the thread, so the detach works properly.
llvm-svn: 118018
|
| |
|
|
|
|
|
| |
types when they are the same size. The new code will use the correct type
now when converting DWARF built-in types into clang types.
llvm-svn: 118003
|
| |
|
|
| |
llvm-svn: 118002
|
| |
|
|
|
|
|
| |
name and thread queue. Users can modify the thread-format strings to add these
back if needed.
llvm-svn: 118000
|
| |
|
|
|
|
|
|
|
| |
values.
Always show the variable types for the top level items when dumping program
variables.
llvm-svn: 117999
|
| |
|
|
|
|
|
|
|
| |
statement. Now when ClangExpressionDeclMap returns
a variable for a name, it pretty-prints that
variable to the log instead of printing a (fairly
useless) NamedDecl pointer.
llvm-svn: 117972
|
| |
|
|
|
|
|
| |
mismatch: I was using the compile unit user ID (the compile unit offset in
the DWARF) as the compile unit index.
llvm-svn: 117948
|
| |
|
|
|
|
| |
and warnings.
llvm-svn: 117947
|
| |
|
|
|
|
|
| |
variables to the list of found variables if they
have not yet been added.
llvm-svn: 117896
|
| |
|
|
| |
llvm-svn: 117864
|
| |
|
|
|
|
|
|
|
| |
keep the file size a bit smaller.
Exposed SBValue::GetExpressionPath() so SBValue users can get an expression
path for their values.
llvm-svn: 117851
|
| |
|
|
| |
llvm-svn: 117825
|
| |
|
|
| |
llvm-svn: 117772
|
| |
|
|
|
|
|
|
|
| |
Objective-C member accessibility restrictions.
Ultimately Clang should have a flag that ignores
accessibility for Objective-C like it has one
for C++.
llvm-svn: 117768
|
| |
|
|
|
|
| |
make the sky fall.
llvm-svn: 117767
|
| |
|
|
| |
llvm-svn: 117725
|
| |
|
|
| |
llvm-svn: 117717
|
| |
|
|
| |
llvm-svn: 117716
|
| |
|
|
|
|
|
|
|
| |
than just the entire log channel.
Add checks, where appropriate, to make sure a log channel/category has
not been disabled before attempting to write to it.
llvm-svn: 117715
|
| |
|
|
|
|
| |
an #ifndef.
llvm-svn: 117706
|
| |
|
|
| |
llvm-svn: 117700
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. FoundationDisassembleTestCase.test_simple_disasm_with_dsym; and
2. FoundationDisassembleTestCase.test_simple_disasm_with_dwarf
the reason being the test was issuing 'disassemble' command to disassemble the current
frame function when stopped. The 'disassemble' command worked previously but it was a
result of bad option specification.
Fix the disassemble command so that it will require 'disassemble -f' for disassembly of
the current frame function.
llvm-svn: 117688
|
| |
|
|
|
|
| |
7pm, and made minor integration fixes.
llvm-svn: 117680
|
| |
|
|
|
|
|
|
|
|
| |
by type ID (the most common type of type lookup).
Changed the API logging a bit to always show the objects in the OBJECT(POINTER)
format so it will be easy to locate all instances of an object or references
to it when looking at logs.
llvm-svn: 117641
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
which holds the name of a file whose contents are
prefixed to each expression. For example, if the file
~/lldb.prefix.header contains:
typedef unsigned short my_type;
then you can do this:
(lldb) settings set target.expr-prefix '~/lldb.prefix.header'
(lldb) expr sizeof(my_type)
(unsigned long) $0 = 2
When the variable is changed, the corresponding file
is loaded and its contents are fetched into a string
that is stored along with the target. This string
is then passed to each expression and inserted into
it during parsing, like this:
typedef unsigned short my_type;
void
$__lldb_expr(void *$__lldb_arg)
{
sizeof(my_type);
}
llvm-svn: 117627
|
| |
|
|
|
|
| |
arguments, to help text for alias commands.
llvm-svn: 117617
|
| |
|
|
|
|
| |
command.
llvm-svn: 117616
|
| |
|
|
|
|
|
|
|
|
| |
version); change include statements to use Python.h in the Python framework
on Mac OS X systems; leave it using regular Python.h on other systems.
Note: I think this *ought* to work properly on Linux systems, but I don't have
a system to test it on...
llvm-svn: 117612
|
| |
|
|
|
|
|
| |
familiar with the ownership relationships
involving Diagnostic.
llvm-svn: 117573
|
| |
|
|
|
|
|
|
| |
logging for type importing, making errors much
easier to diagnose. Also removed some Objective-C
related logging.
llvm-svn: 117568
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
purpose is clear
the breakpoint associated with the (filename, line_number) combo when an arrow is pointing to
a source position using Emacs Grand Unified Debugger library to interact with lldb.
The current implmentation is insufficient in that it only asks the breakpoint whether it is
associated with a breakpoint resolver with FileLine type and whether it matches the (filename, line_number)
combo. There are other breakpoint resolver types whose breakpoint locations can potentially
match the (filename, line_number) combo.
The BreakpointResolver, BreakpointResolverName, BreakpointResolverAddress, and BreakpointResolverFileLine
classes have extra static classof methods to support LLVM style type inquiry through isa, cast, and dyn_cast.
The Breakpoint class has an API method bool GetMatchingFileLine(...) which is invoked from CommandObjectBreak.cpp
to implement the "breakpoint clear" command.
llvm-svn: 117562
|
| |
|
|
|
|
| |
to set a breakpoint.
llvm-svn: 117555
|
| |
|
|
|
|
|
|
| |
variables by name. It was accidentally getting all the globals
for the compile unit that contained the global variable named
NAME.
llvm-svn: 117516
|
| |
|
|
| |
llvm-svn: 117503
|
| |
|
|
| |
llvm-svn: 117497
|
| |
|
|
|
|
| |
disabled.
llvm-svn: 117493
|
| |
|
|
|
|
| |
sure they come out at the correct times.
llvm-svn: 117470
|
| |
|
|
|
|
| |
when making objective C classes from the DWARF.
llvm-svn: 117438
|