- Jul 12, 2011
-
-
Jim Ingham authored
Also made: (lldb) !<NUM> (lldb) !-<NUM> (lldb) !! work with the history. For added benefit: (lldb) !<NUM><TAB> will insert the command at position <NUM> in the history into the command line to be edited. This is only partial, I still need to sync up editline's history list with the one kept by the interpreter. llvm-svn: 134955
-
Enrico Granata authored
- a new --name option for "type summary add" lets you give a name to a summary - a new --summary option for "frame variable" lets you bind a named summary to one or more variables ${var%s} now works for printing the value of 0-terminated CStrings type format test case now tests for cascading - this is disabled on GCC because GCC may end up stripping typedef chains, basically breaking cascading new design for the FormatNavigator class new template class CleanUp2 meant to support cleanup routines with 1 additional parameter beyond resource handle llvm-svn: 134943
-
- Jul 11, 2011
-
-
Greg Clayton authored
with the "target modules lookup --address <addr>" command. The variable ID's, names, types, location for the address, and declaration is displayed. This can really help with crash logs since we get, on MacOSX at least, the registers for the thread that crashed so it is often possible to figure out some of the variable contents. llvm-svn: 134886
-
- Jul 10, 2011
-
-
Greg Clayton authored
use lldb_private::Target::ReadMemory(...) to allow constant strings to be displayed in global variables prior on in between process execution. Centralized the variable declaration dumping into: bool Variable::DumpDeclaration (Stream *s, bool show_fullpaths, bool show_module); Fixed an issue if you used "target variable --regex <regex>" where the variable name would not be displayed, but the regular expression would. Fixed an issue when viewing global variables through "target variable" might not display correctly when doing DWARF in object files. llvm-svn: 134878
-
Greg Clayton authored
emit an error to stderr when we see this issue. llvm-svn: 134872
-
- Jul 09, 2011
-
-
Greg Clayton authored
Made it so that you can create synthetic children of array value objects. This is for creating array members when the array index is out of range. This comes in handy when you have a structure definition like: struct Collection { uint32_t count; Item array[0]; }; "array" has 1 item, but many times in practice there are more items in "item_array". This allows you to do: (lldb) target variable g_collection.array[3] To implement this, the get child at index has been modified to have a "ignore_array_bounds" boolean that can be set to true. llvm-svn: 134846
-
Greg Clayton authored
llvm-svn: 134827
-
Greg Clayton authored
llvm-svn: 134826
-
Greg Clayton authored
breakpoint. I haven't been able to see this breakpoint get hit yet so I still have testing I need to do with the kernel dynamic loader. llvm-svn: 134825
-
Greg Clayton authored
thanks to a nice clang warning! llvm-svn: 134824
-
Greg Clayton authored
variable where we were using a static cast when we shouldn't have been. Fixed another array related issue where we weren't looking through a typedef. llvm-svn: 134823
-
Jim Ingham authored
llvm-svn: 134780
-
Greg Clayton authored
shared library, etc) and strata (user/kernel) from an object file. This will help with plug-in and platform selection when given a new binary with the "target create <file>" command. llvm-svn: 134779
-
- Jul 08, 2011
-
-
Greg Clayton authored
you can do things like: (lldb) target variable g_global.a (lldb) target variable *g_global.ptr (lldb) target variable g_global.ptr[1] llvm-svn: 134745
-
Jim Ingham authored
llvm-svn: 134717
-
Greg Clayton authored
recursive function. Also fixed ClangASTContext::IsPointerType to correctly NULL out the pointee handle if a valid one is provided. llvm-svn: 134715
-
Greg Clayton authored
loaded. It locks onto *-apple-darwin binaries where the binary has a "__KLD" segment. Soon I will modify the lldb_private::ObjectFile class to return an executable type which will be an enum with values something like: eObjectFileTypeUserExectable, eObjectFileTypeUserSharedLibrary, eObjectFileTypeKernelExectable, eObjectFileTypeKernelSharedLibrary, eObjectFileTypeObjectFile, eObjectFileTypeCoreFile But for now we look at the section since a user and kernel mach-o executable have the same mach-o file type. llvm-svn: 134682
-
Greg Clayton authored
process being preferred for all memory reads. llvm-svn: 134681
-
Enrico Granata authored
new GetValueForExpressionPath() method in ValueObject to navigate expression paths in a more bitfield vs slices aware way changes to the varformats.html document (WIP) llvm-svn: 134679
-
Greg Clayton authored
be detected yet, but most of the initial code is there and needs to be debugged more. llvm-svn: 134672
-
Sean Callanan authored
pointers. Some of the spots are obviously initialized later, but it's better just to NULL the pointers out at initialization to make the code more robust when exposed to later changes. llvm-svn: 134670
-
Jason Molenda authored
CommandCompletions.cpp and DataBufferMemoryMap.cpp. The file type part of the st_mode struct member is not a bitmask. llvm-svn: 134669
-
Sean Callanan authored
searching for variables and symbols in the target more robust. These checks prevent variables from being reported as existing if they cannot actually be evaluated in the current context. llvm-svn: 134656
-
- Jul 07, 2011
-
-
Johnny Chen authored
llvm-svn: 134636
-
Enrico Granata authored
llvm-svn: 134613
-
Greg Clayton authored
constructing itself and causing unexpected things to happen in LLDB. llvm-svn: 134598
-
Greg Clayton authored
group class: OptionGroupVariable. It gets initialized with a boolean that indicates if the frame specific options are included so that this can be used in both the "frame variable" and "target variable" commands. Removed the global functionality from the "frame variable" command. Users should switch to using the "target variable" command. llvm-svn: 134594
-
Greg Clayton authored
variables prior to running your binary. Zero filled sections now get section data correctly filled with zeroes when Target::ReadMemory reads from the object file section data. Added new option groups and option values for file lists. I still need to hook up all of the options to "target variable" to allow more complete introspection by file and shlib. Added the ability for ValueObjectVariable objects to be created with only the target as the execution context. This allows them to be read from the object files through Target::ReadMemory(...). Added a "virtual Module * GetModule()" function to the ValueObject class. By default it will look to the parent variable object and return its module. The module is needed when we have global variables that have file addresses (virtual addresses that are specific to module object files) and in turn allows global variables to be displayed prior to running. Removed all of the unused proxy object support that bit rotted in lldb_private::Value. Replaced a lot of places that used "FileSpec::Compare (lhs, rhs) == 0" code with the more efficient "FileSpec::Equal (lhs, rhs)". Improved logging in GDB remote plug-in. llvm-svn: 134579
-
Enrico Granata authored
some changes to the help system code for better display of long help text -p and -r flags now also work for type format add llvm-svn: 134574
-
- Jul 06, 2011
-
-
Enrico Granata authored
- ${*var[].something} was not working as expected options -p and -r now also work for type format add llvm-svn: 134523
-
Greg Clayton authored
objective C or C++ methods when "self" or "this" were in scope, but had invalid locations in a DWARF location list. The lack of a valid value caused us to use an invalid type value and then we tried to import that invalid value and we would crash. llvm-svn: 134518
-
Jim Ingham authored
llvm-svn: 134505
-
Greg Clayton authored
would return instead of a less than helpful "name: '%s'" description. Make sure that when we ask for the error from a ValueObject object we first update the value if needed. Cleaned up some SB functions to use internal functions and not re-call through the public API when possible. llvm-svn: 134497
-
Enrico Granata authored
llvm-svn: 134492
-
Greg Clayton authored
instructions if they are conditional. Also fixed issues where the PC wasn't getting bit zero stripped for ARM targets when a stack frame was thumb. We now properly call through the GetOpcodeLoadAddress() functions to make sure the addresses are properly stripped for any targets that may decorate up their addresses. We now don't pass the SIGSTOP signals along. We can revisit this soon, but currently this was interfering with debugging some older ARM targets that don't have vCont support in the GDB server. llvm-svn: 134461
-
Enrico Granata authored
- ${*expr} now simply means to dereference expr before actually using it - bitfields, array ranges and pointer ranges now work in a (hopefully) more natural and language-compliant way a new class TypeHierarchyNavigator replicates the behavior of the FormatManager in going through type hierarchies when one-lining summary strings, children's summaries can be used as well as values llvm-svn: 134458
-
- Jul 03, 2011
-
-
Greg Clayton authored
a file or socket. We now make a getsockopt call to check if the fd is a socket. Also, the previous logic in the GDB communication needs to watch for success with an error so we can deal with EAGAIN and other normal "retry" error codes. llvm-svn: 134359
-
- Jul 02, 2011
-
-
Greg Clayton authored
_only_ in the resulting stream, not in the error objects (lldb_private::Error). lldb_private::Error objects should always just have an error string with no terminating newline characters or periods. Fixed an issue with GDB remote packet detection that could end up deadlocking if a full packet wasn't received in one chunk. Also modified the packet checking function to properly toss one or more bytes when it detects bad data. llvm-svn: 134357
-
Peter Collingbourne authored
llvm-svn: 134347
-
Enrico Granata authored
- type names can now be regular expressions (exact matching is done first, and is faster) - integral (and floating) types can be printed as bitfields, i.e. ${var[low-high]} will extract bits low thru high of the value and print them - array subscripts are supported, both for arrays and for pointers. the syntax is ${*var[low-high]}, or ${*var[]} to print the whole array (the latter only works for statically sized arrays) - summary is now printed by default when a summary string references a variable. if that variable's type has no summary, value is printed instead. to force value, you can use %V as a format specifier - basic support for ObjectiveC: - ObjectiveC inheritance chains are now walked through - %@ can be specified as a summary format, to print the ObjectiveC runtime description for an object - some bug fixes llvm-svn: 134293
-