<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/lldb/scripts/Python/interface/SBInstruction.i, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>Start to share SWIG interface files between languages.</title>
<updated>2015-04-24T00:38:53+00:00</updated>
<author>
<name>Bruce Mitchener</name>
<email>bruce.mitchener@gmail.com</email>
</author>
<published>2015-04-24T00:38:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=17d2730ee039692d0ae02ff2cfbea691bf8fcf11'/>
<id>17d2730ee039692d0ae02ff2cfbea691bf8fcf11</id>
<content type='text'>
Summary:
Move scripts/Python/interface to scripts/interface so that we
can start making iterative improvements towards sharing the
interface files between multiple languages (each of which would
have their own directory as now).

Test Plan: Build and see.

Reviewers: zturner, emaste, clayborg

Reviewed By: clayborg

Subscribers: mjsabby, lldb-commits

Differential Revision: http://reviews.llvm.org/D9212

llvm-svn: 235676
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
Move scripts/Python/interface to scripts/interface so that we
can start making iterative improvements towards sharing the
interface files between multiple languages (each of which would
have their own directory as now).

Test Plan: Build and see.

Reviewers: zturner, emaste, clayborg

Reviewed By: clayborg

Subscribers: mjsabby, lldb-commits

Differential Revision: http://reviews.llvm.org/D9212

llvm-svn: 235676
</pre>
</div>
</content>
</entry>
<entry>
<title>Added documentation for many of our python properties and also made the property help show up by declaring the properties correctly. We previosly declared properties into a local "x" variable, what I didn't realize is that the help will use this as the property name for the help output.</title>
<updated>2012-06-29T22:00:42+00:00</updated>
<author>
<name>Greg Clayton</name>
<email>gclayton@apple.com</email>
</author>
<published>2012-06-29T22:00:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5ef31a9c46db8431a76239857d1f76773cbc9730'/>
<id>5ef31a9c46db8431a76239857d1f76773cbc9730</id>
<content type='text'>
llvm-svn: 159468
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm-svn: 159468
</pre>
</div>
</content>
</entry>
<entry>
<title>&lt;rdar://problem/11358639&gt;</title>
<updated>2012-05-08T01:45:38+00:00</updated>
<author>
<name>Greg Clayton</name>
<email>gclayton@apple.com</email>
</author>
<published>2012-05-08T01:45:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7051231709ac438a59b5b4577b93511584885794'/>
<id>7051231709ac438a59b5b4577b93511584885794</id>
<content type='text'>
Switch over to the "*-apple-macosx" for desktop and "*-apple-ios" for iOS triples.

Also make the selection process for auto selecting platforms based off of an arch much better.

llvm-svn: 156354
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Switch over to the "*-apple-macosx" for desktop and "*-apple-ios" for iOS triples.

Also make the selection process for auto selecting platforms based off of an arch much better.

llvm-svn: 156354
</pre>
</div>
</content>
</entry>
<entry>
<title>Expose GetAddressClass() from both the SBAddress and SBInstruction so clients can tell the difference between ARM/Thumb opcodes when disassembling ARM.</title>
<updated>2012-04-13T00:07:34+00:00</updated>
<author>
<name>Greg Clayton</name>
<email>gclayton@apple.com</email>
</author>
<published>2012-04-13T00:07:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c8e0c244e4efb7ac9831e535380bfa41b22ebfc2'/>
<id>c8e0c244e4efb7ac9831e535380bfa41b22ebfc2</id>
<content type='text'>
llvm-svn: 154633
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm-svn: 154633
</pre>
</div>
</content>
</entry>
<entry>
<title>Added many more python convenience accessors:</title>
<updated>2012-02-01T08:09:32+00:00</updated>
<author>
<name>Greg Clayton</name>
<email>gclayton@apple.com</email>
</author>
<published>2012-02-01T08:09:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6b2bd93918bceac12b0aea61fd13a65676cd4577'/>
<id>6b2bd93918bceac12b0aea61fd13a65676cd4577</id>
<content type='text'>
You can now access a frame in a thread using:

lldb.SBThread.frame[int] -&gt; lldb.SBFrame object for a frame in a thread

Where "int" is an integer index. You can also access a list object with all of
the frames using:

lldb.SBThread.frames =&gt; list() of lldb.SBFrame objects

All SB objects that give out SBAddress objects have properties named "addr"

lldb.SBInstructionList now has the following convenience accessors for len() and
instruction access using an index:

insts = lldb.frame.function.instructions
for idx in range(len(insts)):
    print insts[idx]
    
Instruction lists can also lookup an isntruction using a lldb.SBAddress as the key:

pc_inst = lldb.frame.function.instructions[lldb.frame.addr]

lldb.SBProcess now exposes:

lldb.SBProcess.is_alive =&gt; BOOL Check if a process is exists and is alive
lldb.SBProcess.is_running =&gt; BOOL check if a process is running (or stepping):
lldb.SBProcess.is_running =&gt; BOOL check if a process is currently stopped or crashed:
lldb.SBProcess.thread[int] =&gt; lldb.SBThreads for a given "int" zero based index
lldb.SBProcess.threads =&gt; list() containing all lldb.SBThread objects in a process

SBInstruction now exposes:
lldb.SBInstruction.mnemonic =&gt; python string for instruction mnemonic
lldb.SBInstruction.operands =&gt; python string for instruction operands
lldb.SBInstruction.command =&gt; python string for instruction comment

SBModule now exposes:

lldb.SBModule.uuid =&gt; uuid.UUID(), an UUID object from the "uuid" python module
lldb.SBModule.symbol[int] =&gt; lldb.Symbol, lookup symbol by zero based index
lldb.SBModule.symbol[str] =&gt; list() of lldb.Symbol objects that match "str"
lldb.SBModule.symbol[re] =&gt; list() of lldb.Symbol objecxts that match the regex
lldb.SBModule.symbols =&gt; list() of all symbols in a module

  
SBAddress objects can now access the current load address with the "lldb.SBAddress.load_addr"
property. The current "lldb.target" will be used to try and resolve the load address.

Load addresses can also be set using this accessor:

addr = lldb.SBAddress()
addd.load_addr = 0x123023

Then you can check the section and offset to see if the address got resolved.

SBTarget now exposes:

lldb.SBTarget.module[int] =&gt; lldb.SBModule from zero based module index
lldb.SBTarget.module[str] =&gt; lldb.SBModule by basename or fullpath or uuid string
lldb.SBTarget.module[uuid.UUID()] =&gt; lldb.SBModule whose UUID matches
lldb.SBTarget.module[re] =&gt; list() of lldb.SBModule objects that match the regex
lldb.SBTarget.modules =&gt; list() of all lldb.SBModule objects in the target

SBSymbol now exposes:

lldb.SBSymbol.name =&gt; python string for demangled symbol name
lldb.SBSymbol.mangled =&gt; python string for mangled symbol name or None if there is none
lldb.SBSymbol.type =&gt; lldb.eSymbolType enum value
lldb.SBSymbol.addr =&gt; SBAddress object that represents the start address for this symbol (if there is one)
lldb.SBSymbol.end_addr =&gt; SBAddress for the end address of the symbol  (if there is one)
lldb.SBSymbol.prologue_size =&gt; pythin int containing The size of the prologue in bytes
lldb.SBSymbol.instructions =&gt; SBInstructionList containing all instructions for this symbol

SBFunction now also has these new properties in addition to what is already has:
lldb.SBFunction.addr =&gt; SBAddress object that represents the start address for this function
lldb.SBFunction.end_addr =&gt; SBAddress for the end address of the function
lldb.SBFunction.instructions =&gt; SBInstructionList containing all instructions for this function

SBFrame now exposes the SBAddress for the frame:
lldb.SBFrame.addr =&gt; SBAddress which is the section offset address for the current frame PC

These are all in addition to what was already added. Documentation and website
updates coming soon.

llvm-svn: 149489
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
You can now access a frame in a thread using:

lldb.SBThread.frame[int] -&gt; lldb.SBFrame object for a frame in a thread

Where "int" is an integer index. You can also access a list object with all of
the frames using:

lldb.SBThread.frames =&gt; list() of lldb.SBFrame objects

All SB objects that give out SBAddress objects have properties named "addr"

lldb.SBInstructionList now has the following convenience accessors for len() and
instruction access using an index:

insts = lldb.frame.function.instructions
for idx in range(len(insts)):
    print insts[idx]
    
Instruction lists can also lookup an isntruction using a lldb.SBAddress as the key:

pc_inst = lldb.frame.function.instructions[lldb.frame.addr]

lldb.SBProcess now exposes:

lldb.SBProcess.is_alive =&gt; BOOL Check if a process is exists and is alive
lldb.SBProcess.is_running =&gt; BOOL check if a process is running (or stepping):
lldb.SBProcess.is_running =&gt; BOOL check if a process is currently stopped or crashed:
lldb.SBProcess.thread[int] =&gt; lldb.SBThreads for a given "int" zero based index
lldb.SBProcess.threads =&gt; list() containing all lldb.SBThread objects in a process

SBInstruction now exposes:
lldb.SBInstruction.mnemonic =&gt; python string for instruction mnemonic
lldb.SBInstruction.operands =&gt; python string for instruction operands
lldb.SBInstruction.command =&gt; python string for instruction comment

SBModule now exposes:

lldb.SBModule.uuid =&gt; uuid.UUID(), an UUID object from the "uuid" python module
lldb.SBModule.symbol[int] =&gt; lldb.Symbol, lookup symbol by zero based index
lldb.SBModule.symbol[str] =&gt; list() of lldb.Symbol objects that match "str"
lldb.SBModule.symbol[re] =&gt; list() of lldb.Symbol objecxts that match the regex
lldb.SBModule.symbols =&gt; list() of all symbols in a module

  
SBAddress objects can now access the current load address with the "lldb.SBAddress.load_addr"
property. The current "lldb.target" will be used to try and resolve the load address.

Load addresses can also be set using this accessor:

addr = lldb.SBAddress()
addd.load_addr = 0x123023

Then you can check the section and offset to see if the address got resolved.

SBTarget now exposes:

lldb.SBTarget.module[int] =&gt; lldb.SBModule from zero based module index
lldb.SBTarget.module[str] =&gt; lldb.SBModule by basename or fullpath or uuid string
lldb.SBTarget.module[uuid.UUID()] =&gt; lldb.SBModule whose UUID matches
lldb.SBTarget.module[re] =&gt; list() of lldb.SBModule objects that match the regex
lldb.SBTarget.modules =&gt; list() of all lldb.SBModule objects in the target

SBSymbol now exposes:

lldb.SBSymbol.name =&gt; python string for demangled symbol name
lldb.SBSymbol.mangled =&gt; python string for mangled symbol name or None if there is none
lldb.SBSymbol.type =&gt; lldb.eSymbolType enum value
lldb.SBSymbol.addr =&gt; SBAddress object that represents the start address for this symbol (if there is one)
lldb.SBSymbol.end_addr =&gt; SBAddress for the end address of the symbol  (if there is one)
lldb.SBSymbol.prologue_size =&gt; pythin int containing The size of the prologue in bytes
lldb.SBSymbol.instructions =&gt; SBInstructionList containing all instructions for this symbol

SBFunction now also has these new properties in addition to what is already has:
lldb.SBFunction.addr =&gt; SBAddress object that represents the start address for this function
lldb.SBFunction.end_addr =&gt; SBAddress for the end address of the function
lldb.SBFunction.instructions =&gt; SBInstructionList containing all instructions for this function

SBFrame now exposes the SBAddress for the frame:
lldb.SBFrame.addr =&gt; SBAddress which is the section offset address for the current frame PC

These are all in addition to what was already added. Documentation and website
updates coming soon.

llvm-svn: 149489
</pre>
</div>
</content>
</entry>
<entry>
<title>Added the ability to get the target triple, byte order and address byte size</title>
<updated>2012-01-29T06:07:39+00:00</updated>
<author>
<name>Greg Clayton</name>
<email>gclayton@apple.com</email>
</author>
<published>2012-01-29T06:07:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=13d1950ae6eaf579cbecab1c0515d58f5fa2b648'/>
<id>13d1950ae6eaf579cbecab1c0515d58f5fa2b648</id>
<content type='text'>
from the SBTarget and SBModule interfaces. Also added many python properties
for easier access to many things from many SB objects.

llvm-svn: 149191
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
from the SBTarget and SBModule interfaces. Also added many python properties
for easier access to many things from many SB objects.

llvm-svn: 149191
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed the public and internal disassembler API to be named correctly:</title>
<updated>2011-09-27T00:58:45+00:00</updated>
<author>
<name>Greg Clayton</name>
<email>gclayton@apple.com</email>
</author>
<published>2011-09-27T00:58:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fb0655ef59f52c81c8998e51477157e7794d7c05'/>
<id>fb0655ef59f52c81c8998e51477157e7794d7c05</id>
<content type='text'>
const char *
SBInstruction::GetMnemonic()

const char *
SBInstruction::GetOperands()

const char *
SBInstruction::GetComment()

Fixed the symbolicate example script and the internals.

llvm-svn: 140591
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
const char *
SBInstruction::GetMnemonic()

const char *
SBInstruction::GetOperands()

const char *
SBInstruction::GetComment()

Fixed the symbolicate example script and the internals.

llvm-svn: 140591
</pre>
</div>
</content>
</entry>
<entry>
<title>Added more functionality to the public API to allow for better</title>
<updated>2011-09-26T07:11:27+00:00</updated>
<author>
<name>Greg Clayton</name>
<email>gclayton@apple.com</email>
</author>
<published>2011-09-26T07:11:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8f7180b11e024406e50ed53e27c95af461e6ec4d'/>
<id>8f7180b11e024406e50ed53e27c95af461e6ec4d</id>
<content type='text'>
symbolication. Also improved the SBInstruction API to allow
access to the instruction opcode name, mnemonics, comment and
instruction data.

Added the ability to edit SBLineEntry objects (change the file,
line and column), and also allow SBSymbolContext objects to be
modified (set module, comp unit, function, block, line entry
or symbol). 

The SymbolContext and SBSymbolContext can now generate inlined
call stack infomration for symbolication much easier using the
SymbolContext::GetParentInlinedFrameInfo(...) and 
SBSymbolContext::GetParentInlinedFrameInfo(...) methods.

llvm-svn: 140518
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
symbolication. Also improved the SBInstruction API to allow
access to the instruction opcode name, mnemonics, comment and
instruction data.

Added the ability to edit SBLineEntry objects (change the file,
line and column), and also allow SBSymbolContext objects to be
modified (set module, comp unit, function, block, line entry
or symbol). 

The SymbolContext and SBSymbolContext can now generate inlined
call stack infomration for symbolication much easier using the
SymbolContext::GetParentInlinedFrameInfo(...) and 
SBSymbolContext::GetParentInlinedFrameInfo(...) methods.

llvm-svn: 140518
</pre>
</div>
</content>
</entry>
<entry>
<title>Move the rest of the SB headers to interface files.</title>
<updated>2011-07-19T22:41:47+00:00</updated>
<author>
<name>Johnny Chen</name>
<email>johnny.chen@apple.com</email>
</author>
<published>2011-07-19T22:41:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fdc4a86c051054b99a0bafd15b6bdf02bea1a49f'/>
<id>fdc4a86c051054b99a0bafd15b6bdf02bea1a49f</id>
<content type='text'>
They are not docstring'ed yet.

llvm-svn: 135531
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
They are not docstring'ed yet.

llvm-svn: 135531
</pre>
</div>
</content>
</entry>
</feed>
