- Apr 29, 2011
-
-
Johnny Chen authored
llvm-svn: 130461
-
Johnny Chen authored
llvm-svn: 130457
-
Johnny Chen authored
llvm-svn: 130456
-
Johnny Chen authored
the lldb iteration protocol has been added to lldb.py module. llvm-svn: 130452
-
- Apr 28, 2011
-
-
Johnny Chen authored
This is so that the objects which support the iteration protocol are immediately obvious from looking at the lldb.py file. SBTarget supports two types of iterations: module and breakpoint. For an SBTarget instance, you will need to issue either: for m in target.module_iter() or for b in target.breakpoint_iter() For other single iteration protocol objects, just use, for example: for thread in process: ID = thread.GetThreadID() for frame in thread: frame.Disassemble() .... llvm-svn: 130442
-
Greg Clayton authored
depth control, pointer depth, and more) when dumping memory and viewing as a type. llvm-svn: 130436
-
Greg Clayton authored
new OptionGroup subclasses for: - output file for use with options: long opts: --outfile <path> --append--output short opts: -o <path> -A - format for use with options: long opts: --format <format> - variable object display controls for depth, pointer depth, wether to show types, show summary, show location, flat output, use objc "po" style summary. Modified ValueObjectMemory to be able to be created either with a TypeSP or a ClangASTType. Switched "memory read" over to use OptionGroup subclasses: one for the outfile options, one for the command specific options, and one for the format. llvm-svn: 130334
-
- Apr 27, 2011
-
-
Johnny Chen authored
method names of all the lldb container objects and returns an iterator object when passed an eligible lldb container object. Example: from lldb_util import smart_iter for thread in smart_iter(process): ID = thread.GetThreadID() if thread.GetStopReason() == lldb.eStopReasonBreakpoint: stopped_due_to_breakpoint = True for frame in smart_iter(thread): self.assertTrue(frame.GetThread().GetThreadID() == ID) ... Add a test case for lldb.smart_iter(). llvm-svn: 130332
-
Johnny Chen authored
llvm-svn: 130325
-
Johnny Chen authored
Add another test case for lldb_iter(), this time using SBTarget to get at its SBBreakpoint containees. llvm-svn: 130323
-
Jim Ingham authored
llvm-svn: 130319
-
Johnny Chen authored
And modify the test cases accordingly. llvm-svn: 130314
-
Johnny Chen authored
for lldb objects which can contain other lldb objects. Examples are: SBTarget contains SBModule, SBModule contains SBSymbols, SBProcess contains SBThread, SBThread contains SBFrame, etc. llvm-svn: 130258
-
Greg Clayton authored
Switch the EmulateInstruction to use the standard RegisterInfo structure that is defined in the lldb private types intead of passing the reg kind and reg num everywhere. EmulateInstruction subclasses also need to provide RegisterInfo structs given a reg kind and reg num. This eliminates the need for the GetRegisterName() virtual function and allows more complete information to be passed around in the read/write register callbacks. Subclasses should always provide RegiterInfo structs with the generic register info filled in as well as at least one kind of register number in the RegisterInfo.kinds[] array. llvm-svn: 130256
-
Johnny Chen authored
llvm-svn: 130254
-
Johnny Chen authored
llvm-svn: 130253
-
Johnny Chen authored
llvm-svn: 130252
-
Johnny Chen authored
llvm-svn: 130251
-
- Apr 26, 2011
-
-
Johnny Chen authored
llvm-svn: 130240
-
Johnny Chen authored
Modify EmulateInstructionARM::SetArchitecture() to treat "arm" and "thumb" as wild card architectures for now, in order to fix the test failure for the 'arm_emulation' directory. There might be a better way. llvm-svn: 130227
-
Greg Clayton authored
are defined as enumerations. Current bits include: eEmulateInstructionOptionAutoAdvancePC eEmulateInstructionOptionIgnoreConditions Modified the EmulateInstruction class to have a few more pure virtuals that can help clients understand how many instructions the emulator can handle: virtual bool SupportsEmulatingIntructionsOfType (InstructionType inst_type) = 0; Where instruction types are defined as: //------------------------------------------------------------------ /// Instruction types //------------------------------------------------------------------ typedef enum InstructionType { eInstructionTypeAny, // Support for any instructions at all (at least one) eInstructionTypePrologueEpilogue, // All prologue and epilogue instructons that push and pop register values and modify sp/fp eInstructionTypePCModifying, // Any instruction that modifies the program counter/instruction pointer eInstructionTypeAll // All instructions of any kind } InstructionType; This allows use to tell what an emulator can do and also allows us to request these abilities when we are finding the plug-in interface. Added the ability for an EmulateInstruction class to get the register names for any registers that are part of the emulation. This helps with being able to dump and log effectively. The UnwindAssembly class now stores the architecture it was created with in case it is needed later in the unwinding process. Added a function that can tell us DWARF register names for ARM that goes along with the source/Utility/ARM_DWARF_Registers.h file: source/Utility/ARM_DWARF_Registers.c Took some of plug-ins out of the lldb_private namespace. llvm-svn: 130189
-
Johnny Chen authored
And modify the test cases accordingly. llvm-svn: 130174
-
Caroline Tice authored
Add 'lldb_private' namespace where necessary to prevent ambiguity and resulting infinite loops. llvm-svn: 130159
-
Johnny Chen authored
llvm-svn: 130158
-
- Apr 25, 2011
-
-
Greg Clayton authored
llvm-svn: 130156
-
Greg Clayton authored
llvm-svn: 130155
-
Greg Clayton authored
llvm-svn: 130154
-
Johnny Chen authored
i.e., with 'SBStream &description' first, followed by 'DescriptionLevel level'. Modify lldbutil.py so that get_description() for a target or breakpoint location can just take the lldb object itself without specifying an option to mean option lldb.eDescriptionLevelBrief. Modify TestTargetAPI.py to exercise this logic path. llvm-svn: 130147
-
Greg Clayton authored
in a Utility directory. llvm-svn: 130135
-
Johnny Chen authored
llvm-svn: 130134
-
Johnny Chen authored
llvm-svn: 130133
-
- Apr 23, 2011
-
-
Greg Clayton authored
inline contexts when the deepest most block is not inlined. Added source path remappings to the lldb_private::Target class that allow it to remap paths found in debug info so we can find source files that are elsewhere on the current system. Fixed disassembly by function name to disassemble inline functions that are inside other functions much better and to show enough context before the disassembly output so you can tell where things came from. Added the ability to get more than one address range from a SymbolContext class for the case where a block or function has discontiguous address ranges. llvm-svn: 130044
-
Johnny Chen authored
llvm-svn: 130041
-
Johnny Chen authored
and use it from TestTargetAPI.py. llvm-svn: 130038
-
Jim Ingham authored
pointer to a ValueObject or any of its dependent ValueObjects, and the whole cluster will stay around as long as that shared pointer stays around. llvm-svn: 130035
-
Johnny Chen authored
Add test cases for the SBTarget.GetDescription() API which takes an extra lldb::DescriptionLevel enum. llvm-svn: 130029
-
- Apr 22, 2011
-
-
Johnny Chen authored
llvm-svn: 130017
-
Johnny Chen authored
llvm-svn: 130016
-
Johnny Chen authored
before issuing the 'process connect ...' command. test_comand_regex(): assign the spawned child to self.child so it gets automatically shutdown during TestBase.tearDown(self). llvm-svn: 130015
-
Greg Clayton authored
llvm-svn: 130014
-