summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/Python/interface
Commit message (Collapse)AuthorAgeFilesLines
* Add a new breakpoint type "break by source regular expression".Jim Ingham2011-09-213-2/+49
| | | | | | | | | Fix the RegularExpression class so it has a real copy constructor. Fix the breakpoint setting with multiple shared libraries so it makes one breakpoint not one per shared library. Add SBFileSpecList, to be used to expose the above to the SB interface (not done yet.) llvm-svn: 140225
* Untabify and fix indentations. Tabs are bad.Johnny Chen2011-09-151-51/+51
| | | | llvm-svn: 139862
* Adding "-n", "-p" and "-w" flags to the lldb command-line tool toJim Ingham2011-09-131-0/+6
| | | | | | allow attaching from the command line. llvm-svn: 139665
* SBSourceManager now gets the real source manager either from the Debugger or ↵Jim Ingham2011-09-132-1/+4
| | | | | | | | Target. Also, move the SourceManager file cache into the debugger so it can be shared amongst the targets. llvm-svn: 139564
* Added the ability to introspect types thourgh the public SBType interface.Greg Clayton2011-09-092-32/+82
| | | | | | | | Fixed up many API calls to not be "const" as const doesn't mean anything to most of our lldb::SB objects since they contain a shared pointer, auto_ptr, or pointer to the types which circumvent the constness anyway. llvm-svn: 139428
* Redesign of the interaction between Python and frozen objects:Enrico Granata2011-09-062-1/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - introduced two new classes ValueObjectConstResultChild and ValueObjectConstResultImpl: the first one is a ValueObjectChild obtained from a ValueObjectConstResult, the second is a common implementation backend for VOCR and VOCRCh of method calls meant to read through pointers stored in frozen objects ; now such reads transparently move from host to target as required - as a consequence of the above, removed code that made target-memory copies of expression results in several places throughout LLDB, and also removed code that enabled to recognize an expression result VO as such - introduced a new GetPointeeData() method in ValueObject that lets you read a given amount of objects of type T from a VO representing a T* or T[], and doing dereferences transparently in private layer it returns a DataExtractor ; in public layer it returns an instance of a newly created lldb::SBData - as GetPointeeData() does the right thing for both frozen and non-frozen ValueObject's, reimplemented ReadPointedString() to use it en lieu of doing the raw read itself - introduced a new GetData() method in ValueObject that lets you get a copy of the data that backs the ValueObject (for pointers, this returns the address without any previous dereferencing steps ; for arrays it actually reads the whole chunk of memory) in public layer this returns an SBData, just like GetPointeeData() - introduced a new CreateValueFromData() method in SBValue that lets you create a new SBValue from a chunk of data wrapped in an SBData the limitation to remember for this kind of SBValue is that they have no address: extracting the address-of for these objects (with any of GetAddress(), GetLoadAddress() and AddressOf()) will return invalid values - added several tests to check that "p"-ing objects (STL classes, char* and char[]) will do the right thing Solved a bug where global pointers to global variables were not dereferenced correctly for display New target setting "max-string-summary-length" gives the maximum number of characters to show in a string when summarizing it, instead of the hardcoded 128 Solved a bug where the summary for char[] and char* would not be shown if the ValueObject's were dumped via the "p" command Removed m_pointers_point_to_load_addrs from ValueObject. Introduced a new m_address_type_of_children, which each ValueObject can set to tell the address type of any pointers and/or references it creates. In the current codebase, this is load address most of the time (the only notable exception being file addresses that generate file address children UNLESS we have a live process) Updated help text for summary-string Fixed an issue in STL formatters where std::stlcontainer::iterator would match the container's synthetic children providers Edited the syntax and help for some commands to have proper argument types llvm-svn: 139160
* Changes to Python commands:Enrico Granata2011-08-161-0/+7
| | | | | | | | | | | | - They now have an SBCommandReturnObject instead of an SBStream as third argument - The class CommandObjectPythonFunction has been merged into CommandObjectCommands.cpp - The command to manage them is now: command script with subcommands add, list, delete, clear command alias is returned to its previous functionality - Python commands are now part of an user dictionary, instead of being seen as aliases llvm-svn: 137785
* Update the SBAddress.i Python interface file to the latest SBAddress.h,Johnny Chen2011-08-121-0/+40
| | | | | | and add some docstrings. llvm-svn: 137528
* On second thought, add the IsValid() method to SBTypeList, making it similar ↵Johnny Chen2011-08-051-0/+3
| | | | | | | | to SBSymbolContextList and SBValueList. Modify the test suite accordingly. llvm-svn: 136990
* Add SBType.GetBasicType() to the test scenario.Johnny Chen2011-08-051-0/+73
| | | | | | Add docstring for SBType, too. llvm-svn: 136983
* Add docstring & example usage for SBTypeList.Johnny Chen2011-08-051-0/+31
| | | | llvm-svn: 136979
* Fix indentation and remove the private section of SBTypeList.Johnny Chen2011-08-051-58/+54
| | | | | | SWIG doesn't care about the private section of class SBTypeList. llvm-svn: 136976
* APIs to GetValueAsSigned/Unsigned() in SBValue now also accept an SBError ↵Enrico Granata2011-08-041-1/+7
| | | | | | | | | parameter to give more info about any problem The synthetic children providers now use the new (safer) APIs to get the values of objects As a side effect, fixed an issue in ValueObject where ResolveValue() was not always updating the value before reading it llvm-svn: 136861
* Cleaned up the SBType.h file to not include internal headers and reorganizedGreg Clayton2011-08-032-33/+7
| | | | | | | | | | | | | | | | | | the SBType implementation classes. Fixed LLDB core and the test suite to not use deprecated SBValue APIs. Added a few new APIs to SBValue: int64_t SBValue::GetValueAsSigned(int64_t fail_value=0); uint64_t SBValue::GetValueAsUnsigned(uint64_t fail_value=0) llvm-svn: 136829
* Public API changes:Enrico Granata2011-07-294-86/+100
| | | | | | | | | | | | | | | | | | | | | - Completely new implementation of SBType - Various enhancements in several other classes Python synthetic children providers for std::vector<T>, std::list<T> and std::map<K,V>: - these return the actual elements into the container as the children of the container - basic template name parsing that works (hopefully) on both Clang and GCC - find them in examples/synthetic and in the test suite in functionalities/data-formatter/data-formatter-python-synth New summary string token ${svar : - the syntax is just the same as in ${var but this new token lets you read the values coming from the synthetic children provider instead of the actual children - Python providers above provide a synthetic child len that returns the number of elements into the container Full bug fix for the issue in which getting byte size for a non-complete type would crash LLDB Several other fixes, including: - inverted the order of arguments in the ClangASTType constructor - EvaluationPoint now only returns SharedPointer's to Target and Process - the help text for several type subcommands now correctly indicates argument-less options as such llvm-svn: 136504
* Add docstrings and cross refs to SBCompileUnit and SBLineEntry.Johnny Chen2011-07-272-3/+33
| | | | llvm-svn: 136230
* Add cross reference to SBThread from the SBFrame docstring. Also add a ↵Johnny Chen2011-07-271-1/+7
| | | | | | simple iteration example. llvm-svn: 136227
* Add deprecation docstrings for some APIs which take an SBFrame - SBValues ↵Johnny Chen2011-07-271-7/+18
| | | | | | know their own frames. llvm-svn: 136194
* Fix indentation and add a docstring for the ctor.Johnny Chen2011-07-261-4/+6
| | | | llvm-svn: 136187
* Add cross references between the docstrings for regular SBValue iteration:Johnny Chen2011-07-251-1/+5
| | | | | | | | | | | | for child in value: # do something with the child value and SBValue.linked_list_iter(): for task in task_head.linked_list_iter('next', eol_test): # visit each item in the linked list llvm-svn: 136015
* Make the SBAddress class easier to use when using the publicGreg Clayton2011-07-222-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | API. SBTarget changes include changing: bool SBTarget::ResolveLoadAddress (lldb::addr_t vm_addr, lldb::SBAddress& addr); to be: lldb::SBAddress SBTarget::ResolveLoadAddress (lldb::addr_t vm_addr); SBAddress can how contruct itself using a load address and a target which can be used to resolve the address: SBAddress (lldb::addr_t load_addr, lldb::SBTarget &target); This will actually just call the new SetLoadAddress accessor: void SetLoadAddress (lldb::addr_t load_addr, lldb::SBTarget &target); This function will always succeed in making a SBAddress object that can be used in API calls (even if "target" isn't valid). If "target" is valid and there are sections currently loaded, then it will resolve the address to a section offset address if it can. Else an address with a NULL section and an offset that is the "load_addr" that was passed in. We do this because a load address might be from the heap or stack. llvm-svn: 135770
* Change docstring wording: from 'method' to 'function'.Johnny Chen2011-07-211-1/+1
| | | | llvm-svn: 135648
* Add docstring for SBInstructionList class.Johnny Chen2011-07-211-0/+14
| | | | llvm-svn: 135647
* Add docstring for SBCommandReturnObject class.Johnny Chen2011-07-211-0/+7
| | | | llvm-svn: 135642
* Add docstring for SBCommandInterpreter class.Johnny Chen2011-07-201-0/+44
| | | | llvm-svn: 135631
* Add docstring for SBBroadcaster class.Johnny Chen2011-07-201-0/+11
| | | | llvm-svn: 135630
* Add some docstrings for SBFileSpec class.Johnny Chen2011-07-201-0/+21
| | | | llvm-svn: 135553
* Add some docstrings for SBError class.Johnny Chen2011-07-201-0/+47
| | | | llvm-svn: 135547
* Add some docstrings for SBSourceManager class.Johnny Chen2011-07-191-0/+26
| | | | llvm-svn: 135539
* Add some docstrings for SBStream class.Johnny Chen2011-07-191-8/+47
| | | | llvm-svn: 135536
* Move the rest of the SB headers to interface files.Johnny Chen2011-07-1914-0/+815
| | | | | | They are not docstring'ed yet. llvm-svn: 135531
* Add SWIG interface files for SBSymbol, SBSymbolContext, and SBSymbolContextList.Johnny Chen2011-07-194-1/+211
| | | | llvm-svn: 135459
* Add SWIG Python interface files for SBLineEntry, SBListener, and SBModule.Johnny Chen2011-07-184-2/+313
| | | | llvm-svn: 135441
* Missed the interface file for SBFunction in the previous checkin.Johnny Chen2011-07-181-0/+81
| | | | llvm-svn: 135436
* Add SWIG Python interface files for SBDebugger, SBCompileUnit, and SBEvent.Johnny Chen2011-07-183-0/+530
| | | | llvm-svn: 135432
* Add SWIG Python interface files for SBAddress, SBBlock, SBBreakpoint, and ↵Johnny Chen2011-07-184-0/+424
| | | | | | SBBreakpointLocation. llvm-svn: 135430
* Add SWIG Python interface files for SBProcess, SBThread, and SBFrame.Johnny Chen2011-07-186-9/+588
| | | | llvm-svn: 135419
* Fix header documentations.Johnny Chen2011-07-182-2/+2
| | | | llvm-svn: 135417
* Add two new interface files SBValue.i and SBValueList.i, instead of directly ↵Johnny Chen2011-07-182-0/+364
| | | | | | swigging the header files. llvm-svn: 135416
* Cleaned up the interface file for SBTarget.Johnny Chen2011-07-181-50/+0
| | | | llvm-svn: 135405
* Have SWIG generate autodoc strings with parameter types for all SB API ↵Johnny Chen2011-07-161-1/+0
| | | | | | objects by default. llvm-svn: 135357
* Create an interface file for SBTarget named SBTarget.i which relieves SBTarget.hJohnny Chen2011-07-161-0/+449
of the duty of having SWIG docstring features and multiline string literals embedded within. lldb.swig now %include .../SBTarget.i, instead of .../SBTarget.h. Will create other interface files and transition them over. Also update modify-python-lldb.py to better handle the trailing blank line right before the ending '"""' Python docstring delimiter. llvm-svn: 135355
OpenPOWER on IntegriCloud