Commit Graph

1081 Commits

Author SHA1 Message Date
Sean Callanan 7c0962dc89 Fixed StackFrame::GetVariableList to add global
variables to the list of found variables if they
have not yet been added.

llvm-svn: 117896
2010-11-01 04:38:59 +00:00
Greg Clayton b9c7a9ae07 Make sure darwin-debug gets installed in /Developer/usr/bin instead of
/usr/local/bin.

llvm-svn: 117866
2010-10-31 20:13:10 +00:00
Greg Clayton fac83d83d1 Bumped lldb Xcode project version to 28 for lldb-28.
llvm-svn: 117865
2010-10-31 19:58:25 +00:00
Greg Clayton 38adbbb88b Fixed an include so case sensitive builders can build.
llvm-svn: 117864
2010-10-31 19:57:43 +00:00
Greg Clayton e6f21e4e6e Bumped version in Xcode project to lldb-27, and debugserver to debugserver-115.
llvm-svn: 117852
2010-10-31 03:02:30 +00:00
Greg Clayton cfd1aced7e Cleaned up the API logging a lot more to reduce redundant information and
keep the file size a bit smaller.

Exposed SBValue::GetExpressionPath() so SBValue users can get an expression
path for their values.

llvm-svn: 117851
2010-10-31 03:01:06 +00:00
Greg Clayton 92ef573550 Fixed the copy constructor for SBThread.
llvm-svn: 117825
2010-10-30 18:26:59 +00:00
Benjamin Kramer e1e6797b07 Compress screenshot.
llvm-svn: 117778
2010-10-30 08:27:07 +00:00
Johnny Chen 886ec7800a Submit the screen capture as a followup of r117752.
llvm-svn: 117777
2010-10-30 07:36:05 +00:00
Greg Clayton 4838131baf Improved API logging.
llvm-svn: 117772
2010-10-30 04:51:46 +00:00
Sean Callanan 5a477cfd90 Added a hack that allows expressions to ignore
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
2010-10-30 01:56:10 +00:00
Sean Callanan 0d546439b9 Using proper Objective-C types doesn't seem to
make the sky fall.

llvm-svn: 117767
2010-10-30 01:46:19 +00:00
Johnny Chen 6aa0dc1e26 Initial port of lldb debugging mode to run under Emacs's Grand Unified Debugger (gud.el).
The gud.el is modified from 22.3.1 version to add lldb stuffs, the gud-diffs.txt is the
diff file.

lldb-gud-window.tiff is a screen capture of Aquamacs 2.1 (which has 23.2.50.1) after
loading this modified gud.el, changing directory to test/conditional_break, and then
'M-x lldb' with the a.out file.

The lldb-gud-window.tiff will be submitted in another check in.

llvm-svn: 117752
2010-10-30 00:34:37 +00:00
Johnny Chen 2ed83824af Delete the directory, will try to resubmit later.
llvm-svn: 117751
2010-10-30 00:30:24 +00:00
Johnny Chen 7d5cd97080 Initial port of lldb debugging mode to run under Emacs's Grand Unified Debugger (gud.el).
The gud.el is modified from 22.3.1 version to add lldb stuffs, the gud-diffs.txt is the
diff file.

lldb-gud-window.tiff is a screen capture of Aquamacs 2.1 (which has 23.2.50.1) after
loading this modified gud.el, changing directory to test/conditional_break, and then
'M-x lldb' with the a.out file.

llvm-svn: 117748
2010-10-29 23:55:46 +00:00
Johnny Chen 721f298a60 Add some comment about the default session dir name which is a timestamp.
llvm-svn: 117730
2010-10-29 22:26:38 +00:00
Johnny Chen 8ff5d56c20 The informational message for where to find the session logs for failed/errored
tests should be near the test summary message, instead of way up in the beginning.

llvm-svn: 117726
2010-10-29 22:20:36 +00:00
Johnny Chen 2a9177c3de These two casts are up casts, no need to use dynamic_cast.
llvm-svn: 117725
2010-10-29 22:18:43 +00:00
Caroline Tice 7149fab4d3 Update arguments & help information for "log disable" command.
llvm-svn: 117717
2010-10-29 21:56:41 +00:00
Caroline Tice eec5877a31 Missed a file in my last commit.
llvm-svn: 117716
2010-10-29 21:49:29 +00:00
Caroline Tice 20ad3c40f4 Add the ability to disable individual log categories, rather
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
2010-10-29 21:48:37 +00:00
Sean Callanan e35831a23c Overloading is not broken any more. No need for
an #ifndef.

llvm-svn: 117706
2010-10-29 20:30:26 +00:00
Johnny Chen b00c8e83dd Remove the @expectedFailure as the following bug is fixed with newer clang bits with lldb r117700:
rdar://problem/8584431 Assert in clang while evaluating expression

llvm-svn: 117705
2010-10-29 20:28:28 +00:00
Johnny Chen dabefd0120 ClangUserExpression ctor should not crash if given a null expr_prefix char*.
llvm-svn: 117700
2010-10-29 20:19:44 +00:00
Johnny Chen 8ceb8ba2fb The r117616 check in broken these two test cases:
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
2010-10-29 19:33:40 +00:00
Sean Callanan 31e851c9f3 Updated LLVM to latest version as of 10/28 at
7pm, and made minor integration fixes.

llvm-svn: 117680
2010-10-29 18:38:40 +00:00
Johnny Chen 7d105260e3 The r117641 check in removed the SBValue's print description of type and size.
Change the test case to not check it for an SBVariable's print description.

llvm-svn: 117668
2010-10-29 17:31:47 +00:00
Greg Clayton 93aa84e83b Modified the lldb_private::TypeList to use a std::multimap for quicker lookup
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
2010-10-29 04:59:35 +00:00
Sean Callanan 322f529b37 Added a user-settable variable, 'target.expr-prefix',
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
2010-10-29 00:29:03 +00:00
Caroline Tice e79417951b Add alias information, including aliased command options &
arguments, to help text for alias commands.

llvm-svn: 117617
2010-10-28 23:17:48 +00:00
Caroline Tice dbaf18361e Comment out uninmplemented command option (-f) for disassemble
command.

llvm-svn: 117616
2010-10-28 22:19:36 +00:00
Caroline Tice 3cc8751d59 Remove references to particular Python version (use the system default
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
2010-10-28 21:51:20 +00:00
Johnny Chen 62d4f8684f Add comment on passing the assert message to self.runCmd().
llvm-svn: 117604
2010-10-28 21:10:32 +00:00
Sean Callanan 48ae719dc5 Explicatory comment for folks that may not be
familiar with the ownership relationships
involving Diagnostic.

llvm-svn: 117573
2010-10-28 18:43:33 +00:00
Johnny Chen ebfff955b6 If TestBase.expect() is passed an assert message, pass it along when delegating to TestBase.runCmd()
to execute the debugger command.  This will result in a more semantic assert message than just the
command failed message like before:

AssertionError: False is not True : Command 'thread list' returns successfully

And now, we will have:

AssertionError: False is not True : Process state is stopped due to breakpoint
llvm-svn: 117569
2010-10-28 18:24:22 +00:00
Sean Callanan fb8b7098a1 Logging fixes. Added a simple class to handle
logging for type importing, making errors much
easier to diagnose.  Also removed some Objective-C
related logging.

llvm-svn: 117568
2010-10-28 18:19:36 +00:00
Johnny Chen b7234e4014 Check in an initial implementation of the "breakpoint clear" command, whose 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
2010-10-28 17:27:46 +00:00
Johnny Chen bdc5c27894 Fix the test driver as part of the fix for http://llvm.org/bugs/show_bug.cgi?id=8493
File name "2010-10-19-14:10:49.059609" is non-portable.

Do not use ':' in the pathname as it is not permitted on windows platforms.

llvm-svn: 117556
2010-10-28 16:32:13 +00:00
Caroline Tice be484f413d Add warning if no actual locations were resolved when attempting
to set a breakpoint.

llvm-svn: 117555
2010-10-28 16:28:56 +00:00
Johnny Chen 22b881dc34 Fix http://llvm.org/bugs/show_bug.cgi?id=8493 File name "2010-10-19-14:10:49.059609" is non-portable.
llvm-svn: 117554
2010-10-28 16:24:26 +00:00
Greg Clayton bcf1217e28 Fixed the "frame variable -G NAME" that would print global
variables by name. It was accidentally getting all the globals
for the compile unit that contained the global variable named
NAME.

llvm-svn: 117516
2010-10-28 00:56:11 +00:00
Jim Ingham 517b3b21ca Replace unnecessary dynamic_cast with static_cast.
llvm-svn: 117503
2010-10-27 22:58:34 +00:00
Caroline Tice 7d54a2e8d5 Make SBFrame::GetDescription a little more descriptive.
llvm-svn: 117497
2010-10-27 22:07:28 +00:00
Caroline Tice 7b9da4a550 Fix bugs attempting to write to API log after it has been
disabled.

llvm-svn: 117493
2010-10-27 21:23:37 +00:00
Caroline Tice 04a339a084 Flush the prompts immediately in the breakpoint command input readers, to make
sure they come out at the correct times.

llvm-svn: 117470
2010-10-27 18:34:42 +00:00
Greg Clayton 90f90cdae1 Don't include the ":" character when building the selector identifiers
when making objective C classes from the DWARF.

llvm-svn: 117438
2010-10-27 04:01:14 +00:00
Greg Clayton 73b472d42a Updated the lldb_private::Flags class to have better method names and made
all of the calls inlined in the header file for better performance.

Fixed the summary for C string types (array of chars (with any combo if
modifiers), and pointers to chars) work in all cases.

Fixed an issue where a forward declaration to a clang type could cause itself
to resolve itself more than once if, during the resolving of the type itself
it caused something to try and resolve itself again. We now remove the clang
type from the forward declaration map in the DWARF parser when we start to 
resolve it and avoid this additional call. This should stop any duplicate
members from appearing and throwing all the alignment of structs, unions and
classes.

llvm-svn: 117437
2010-10-27 03:32:59 +00:00
Greg Clayton 307de25449 After a recent fix to not set the default architecture to "x86_64", the string value for the default arch was coming out as a value that shouldn't be user visible. Now we don't show any value when it isn't set.
llvm-svn: 117432
2010-10-27 02:06:37 +00:00
Sean Callanan 11d00c22e9 Removed an inappropriate function lookup path.
Also made type lookup lazy for types that are
hidden behind pointers.

llvm-svn: 117430
2010-10-27 01:36:51 +00:00
Caroline Tice 750cd1755d Clean up the API logging code:
- Try to reduce logging to one line per function call instead of tw
      - Put all arguments & their values into log for calls
      - Add 'this' parameter information to function call logging, making it show the appropriate
        internal pointer (this.obj, this.sp, this.ap...)
      - Clean up some return values
      - Remove logging of constructors that construct empty objects
      - Change '==>' to '=>'  for showing result values...
      - Fix various minor bugs
      - Add some protected 'get' functions to help getting the internal pointers for the 'this' arguments...      

llvm-svn: 117417
2010-10-26 23:49:36 +00:00