#include <SBValue.h >
Public Member Functions
SBValue ()
SBValue (const lldb::SBValue &rhs)
lldb::SBValue & operator= (const lldb::SBValue &rhs)
~SBValue ()
bool IsValid ()
void Clear ()
SBError GetError ()
lldb::user_id_t GetID ()
const char * GetName ()
const char * GetTypeName ()
size_t GetByteSize ()
bool IsInScope ()
lldb::Format GetFormat ()
void SetFormat (lldb::Format format)
const char * GetValue ()
int64_t GetValueAsSigned (lldb::SBError &error, int64_t fail_value=0)
uint64_t GetValueAsUnsigned (lldb::SBError &error, uint64_t fail_value=0)
int64_t GetValueAsSigned (int64_t fail_value=0)
uint64_t GetValueAsUnsigned (uint64_t fail_value=0)
ValueType GetValueType ()
bool GetValueDidChange ()
const char * GetSummary ()
const char * GetObjectDescription ()
lldb::SBValue GetDynamicValue (lldb::DynamicValueType use_dynamic)
lldb::SBValue GetStaticValue ()
lldb::SBValue GetNonSyntheticValue ()
lldb::DynamicValueType GetPreferDynamicValue ()
void SetPreferDynamicValue (lldb::DynamicValueType use_dynamic)
bool GetPreferSyntheticValue ()
void SetPreferSyntheticValue (bool use_synthetic)
bool IsDynamic ()
bool IsSynthetic ()
const char * GetLocation ()
bool SetValueFromCString (const char *value_str)
bool SetValueFromCString (const char *value_str, lldb::SBError &error)
lldb::SBTypeFormat GetTypeFormat ()
lldb::SBTypeSummary GetTypeSummary ()
lldb::SBTypeFilter GetTypeFilter ()
lldb::SBTypeSynthetic GetTypeSynthetic ()
lldb::SBValue GetChildAtIndex (uint32_t idx)
lldb::SBValue CreateChildAtOffset (const char *name, uint32_t offset, lldb::SBType type)
lldb::SBValue Cast (lldb::SBType type)
lldb::SBValue CreateValueFromExpression (const char *name, const char *expression)
lldb::SBValue CreateValueFromExpression (const char *name, const char *expression, SBExpressionOptions &options)
lldb::SBValue CreateValueFromAddress (const char *name, lldb::addr_t address, lldb::SBType type)
lldb::SBValue CreateValueFromData (const char *name, lldb::SBData data, lldb::SBType type)
lldb::SBValue GetChildAtIndex (uint32_t idx, lldb::DynamicValueType use_dynamic, bool can_create_synthetic)
uint32_t GetIndexOfChildWithName (const char *name)
lldb::SBValue GetChildMemberWithName (const char *name)
lldb::SBValue GetChildMemberWithName (const char *name, lldb::DynamicValueType use_dynamic)
lldb::SBValue GetValueForExpressionPath (const char *expr_path)
lldb::SBValue AddressOf ()
lldb::addr_t GetLoadAddress ()
lldb::SBAddress GetAddress ()
lldb::SBData GetPointeeData (uint32_t item_idx=0, uint32_t item_count=1)
lldb::SBData GetData ()
bool SetData (lldb::SBData &data, lldb::SBError &error)
lldb::SBDeclaration GetDeclaration ()
bool MightHaveChildren ()
uint32_t GetNumChildren ()
void * GetOpaqueType ()
lldb::SBTarget GetTarget ()
lldb::SBProcess GetProcess ()
lldb::SBThread GetThread ()
lldb::SBFrame GetFrame ()
lldb::SBValue Dereference ()
bool TypeIsPointerType ()
lldb::SBType GetType ()
bool GetDescription (lldb::SBStream &description)
bool GetExpressionPath (lldb::SBStream &description)
bool GetExpressionPath (lldb::SBStream &description, bool qualify_cxx_base_classes)
SBValue (const lldb::ValueObjectSP &value_sp)
lldb::SBWatchpoint Watch (bool resolve_location, bool read, bool write, SBError &error)
lldb::SBWatchpoint Watch (bool resolve_location, bool read, bool write)
lldb::SBWatchpoint WatchPointee (bool resolve_location, bool read, bool write, SBError &error)
lldb::ValueObjectSP GetSP () const
Protected Member Functions
lldb::ValueObjectSP GetSP (ValueLocker &value_locker) const
void SetSP (const lldb::ValueObjectSP &sp)
void SetSP (const lldb::ValueObjectSP &sp, bool use_synthetic)
void SetSP (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic)
void SetSP (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic, bool use_synthetic)
void SetSP (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic, bool use_synthetic, const char *name)
Detailed Description
Definition at line 22 of file SBValue.h .
Constructor & Destructor Documentation
lldb::SBValue::SBValue
(
)
lldb::SBValue::~SBValue
(
)
lldb::SBValue::SBValue
(
const lldb::ValueObjectSP &
value_sp )
Member Function Documentation
void lldb::SBValue::Clear
(
)
lldb::SBValue lldb::SBValue::CreateValueFromExpression
(
const char *
name ,
const char *
expression
)
size_t lldb::SBValue::GetByteSize
(
)
lldb::SBValue lldb::SBValue::GetChildAtIndex
(
uint32_t
idx ,
lldb::DynamicValueType
use_dynamic ,
bool
can_create_synthetic
)
Get a child value by index from a value.
Structs, unions, classes, arrays and and pointers have child values that can be access by index.
Structs and unions access child members using a zero based index for each child member. For
Classes reserve the first indexes for base classes that have members (empty base classes are omitted), and all members of the current class will then follow the base classes.
Pointers differ depending on what they point to. If the pointer points to a simple type, the child at index zero is the only child value available, unless synthetic_allowed is true , in which case the pointer will be used as an array and can create 'synthetic' child values using positive or negative indexes. If the pointer points to an aggregate type (an array, class, union, struct), then the pointee is transparently skipped and any children are going to be the indexes of the child values within the aggregate type. For example if we have a 'Point' type and we have a SBValue that contains a pointer to a 'Point' type, then the child at index zero will be the 'x' member, and the child at index 1 will be the 'y' member (the child at index zero won't be a 'Point' instance).
Arrays have a preset number of children that can be accessed by index and will returns invalid child values for indexes that are out of bounds unless the synthetic_allowed is true . In this case the array can create 'synthetic' child values for indexes that aren't in the array bounds using positive or negative indexes.
Parameters
[in] idx The index of the child value to get
[in] use_dynamic An enumeration that specifies wether to get dynamic values, and also if the target can be run to figure out the dynamic type of the child value.
[in] synthetic_allowed If true , then allow child values to be created by index for pointers and arrays for indexes that normally wouldn't be allowed.
Returns A new SBValue object that represents the child member value.
lldb::SBValue lldb::SBValue::GetChildMemberWithName
(
const char *
name )
lldb::SBValue lldb::SBValue::GetChildMemberWithName
(
const char *
name ,
lldb::DynamicValueType
use_dynamic
)
Get an SBData wrapping the contents of this SBValue .
This method will read the contents of this object in memory and copy them into an SBData for future use.
Returns An SBData with the contents of this SBValue , on success. An empty SBData otherwise.
lldb::SBValue lldb::SBValue::GetDynamicValue
(
lldb::DynamicValueType
use_dynamic )
SBError lldb::SBValue::GetError
(
)
bool lldb::SBValue::GetExpressionPath
(
lldb::SBStream &
description ,
bool
qualify_cxx_base_classes
)
lldb::Format lldb::SBValue::GetFormat
(
)
lldb::user_id_t lldb::SBValue::GetID
(
)
uint32_t lldb::SBValue::GetIndexOfChildWithName
(
const char *
name )
lldb::addr_t lldb::SBValue::GetLoadAddress
(
)
const char* lldb::SBValue::GetLocation
(
)
const char* lldb::SBValue::GetName
(
)
uint32_t lldb::SBValue::GetNumChildren
(
)
const char* lldb::SBValue::GetObjectDescription
(
)
void* lldb::SBValue::GetOpaqueType
(
)
lldb::SBData lldb::SBValue::GetPointeeData
(
uint32_t
item_idx = 0
,
uint32_t
item_count = 1
)
Get an SBData wrapping what this SBValue points to.
This method will dereference the current SBValue , if its data type is a T* or T[], and extract item_count elements of type T from it, copying their contents in an SBData .
Parameters
[in] item_idx The index of the first item to retrieve. For an array this is equivalent to array[item_idx], for a pointer to *(pointer + item_idx). In either case, the measurement unit for item_idx is the sizeof(T) rather than the byte
[in] item_count How many items should be copied into the output. By default only one item is copied, but more can be asked for.
Returns An SBData with the contents of the copied items, on success. An empty SBData otherwise.
lldb::DynamicValueType lldb::SBValue::GetPreferDynamicValue
(
)
bool lldb::SBValue::GetPreferSyntheticValue
(
)
lldb::ValueObjectSP lldb::SBValue::GetSP
(
)
const
Same as the protected version of GetSP that takes a locker, except that we make the locker locally in the function. Since the Target API mutex is recursive, and the StopLocker is a read lock, you can call this function even if you are already holding the two above-mentioned locks.
Returns A ValueObjectSP of the best kind (static, dynamic or synthetic) we can cons up, in accordance with the SBValue 's settings.
lldb::ValueObjectSP lldb::SBValue::GetSP
(
ValueLocker &
value_locker )
const
protected
Get the appropriate ValueObjectSP from this SBValue , consulting the use_dynamic and use_synthetic options passed in to SetSP when the SBValue 's contents were set. Since this often requires examining memory, and maybe even running code, it needs to acquire the Target API and Process StopLock. Those are held in an opaque class ValueLocker which is currently local to SBValue.cpp. So you don't have to get these yourself just default construct a ValueLocker, and pass it into this. If we need to make a ValueLocker and use it in some other .cpp file, we'll have to move it to ValueObject.h/cpp or somewhere else convenient. We haven't needed to so far.
Parameters
[in] value_locker An object that will hold the Target API, and Process RunLocks, and auto-destroy them when it goes out of scope. Currently this is only useful in SBValue.cpp.
Returns A ValueObjectSP of the best kind (static, dynamic or synthetic) we can cons up, in accordance with the SBValue 's settings.
const char* lldb::SBValue::GetSummary
(
)
const char* lldb::SBValue::GetTypeName
(
)
const char* lldb::SBValue::GetValue
(
)
int64_t lldb::SBValue::GetValueAsSigned
(
lldb::SBError &
error ,
int64_t
fail_value = 0
)
int64_t lldb::SBValue::GetValueAsSigned
(
int64_t
fail_value = 0
)
uint64_t lldb::SBValue::GetValueAsUnsigned
(
lldb::SBError &
error ,
uint64_t
fail_value = 0
)
uint64_t lldb::SBValue::GetValueAsUnsigned
(
uint64_t
fail_value = 0
)
bool lldb::SBValue::GetValueDidChange
(
)
lldb::SBValue lldb::SBValue::GetValueForExpressionPath
(
const char *
expr_path )
ValueType lldb::SBValue::GetValueType
(
)
bool lldb::SBValue::IsDynamic
(
)
bool lldb::SBValue::IsInScope
(
)
bool lldb::SBValue::IsSynthetic
(
)
bool lldb::SBValue::IsValid
(
)
bool lldb::SBValue::MightHaveChildren
(
)
Find out if a SBValue might have children.
This call is much more efficient than GetNumChildren() as it doesn't need to complete the underlying type. This is designed to be used in a UI environment in order to detect if the disclosure triangle should be displayed or not.
This function returns true for class, union, structure, pointers, references, arrays and more. Again, it does so without doing any expensive type completion.
Returns Returns true if the SBValue might have children, or false otherwise.
void lldb::SBValue::SetFormat
(
lldb::Format
format )
void lldb::SBValue::SetPreferDynamicValue
(
lldb::DynamicValueType
use_dynamic )
void lldb::SBValue::SetPreferSyntheticValue
(
bool
use_synthetic )
void lldb::SBValue::SetSP
(
const lldb::ValueObjectSP &
sp )
protected
void lldb::SBValue::SetSP
(
const lldb::ValueObjectSP &
sp ,
bool
use_synthetic
)
protected
void lldb::SBValue::SetSP
(
const lldb::ValueObjectSP &
sp ,
lldb::DynamicValueType
use_dynamic
)
protected
void lldb::SBValue::SetSP
(
const lldb::ValueObjectSP &
sp ,
lldb::DynamicValueType
use_dynamic ,
bool
use_synthetic
)
protected
void lldb::SBValue::SetSP
(
const lldb::ValueObjectSP &
sp ,
lldb::DynamicValueType
use_dynamic ,
bool
use_synthetic ,
const char *
name
)
protected
bool lldb::SBValue::SetValueFromCString
(
const char *
value_str )
bool lldb::SBValue::SetValueFromCString
(
const char *
value_str ,
lldb::SBError &
error
)
bool lldb::SBValue::TypeIsPointerType
(
)
Watch this value if it resides in memory.
Sets a watchpoint on the value.
Parameters
[in] resolve_location Resolve the location of this value once and watch its address. This value must currently be set to true as watching all locations of a variable or a variable path is not yet supported, though we plan to support it in the future.
[in] read Stop when this value is accessed.
[in] write Stop when this value is modified
[out] An error object. Contains the reason if there is some failure.
Returns An SBWatchpoint object. This object might not be valid upon return due to a value not being contained in memory, too large, or watchpoint resources are not available or all in use.
Watch this value that this value points to in memory
Sets a watchpoint on the value.
Parameters
[in] resolve_location Resolve the location of this value once and watch its address. This value must currently be set to true as watching all locations of a variable or a variable path is not yet supported, though we plan to support it in the future.
[in] read Stop when this value is accessed.
[in] write Stop when this value is modified
[out] An error object. Contains the reason if there is some failure.
Returns An SBWatchpoint object. This object might not be valid upon return due to a value not being contained in memory, too large, or watchpoint resources are not available or all in use.
Friends And Related Function Documentation
The documentation for this class was generated from the following file:
Html程序
|
1955行
|
89.92 KB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
<meta name="keywords" content="LLDB,C++,doxygen,API,documentation"/>
<meta name="description" content="C++ source code API documentation for LLDB."/>
<title>LLVM: lldb::SBValue Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head><body>
<p class="title">LLDB API Documentation</p>
<!-- Generated by Doxygen 1.8.1.2 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class List</span></a></li>
<li><a href="classes.html"><span>Class Index</span></a></li>
<li><a href="functions.html"><span>Class Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacelldb.html">lldb</a></li><li class="navelem"><a class="el" href="classlldb_1_1SBValue.html">SBValue</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pro-methods">Protected Member Functions</a> |
<a href="#friends">Friends</a> |
<a href="classlldb_1_1SBValue-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">lldb::SBValue Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include <<a class="el" href="SBValue_8h_source.html">SBValue.h</a>></code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa49e37d8303ce3ef28a531b8e0cda1d1"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aa49e37d8303ce3ef28a531b8e0cda1d1">SBValue</a> ()</td></tr>
<tr class="memitem:a9988daf907386fa40b737f89a1bfb625"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a9988daf907386fa40b737f89a1bfb625">SBValue</a> (const <a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> &rhs)</td></tr>
<tr class="memitem:aa28264d9e4e2044a3fcc4ecd52c1a7e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aa28264d9e4e2044a3fcc4ecd52c1a7e4">operator=</a> (const <a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> &rhs)</td></tr>
<tr class="memitem:a1899eea515c5306226ef31bbecc7fae1"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a1899eea515c5306226ef31bbecc7fae1">~SBValue</a> ()</td></tr>
<tr class="memitem:aacd654ded75c4ecaf2ee947931decc81"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aacd654ded75c4ecaf2ee947931decc81">IsValid</a> ()</td></tr>
<tr class="memitem:a8cc6c31f15a978433d9574560d679db1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a8cc6c31f15a978433d9574560d679db1">Clear</a> ()</td></tr>
<tr class="memitem:a6e81786ff07ab65e4a37a7d96ff3552b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBError.html">SBError</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a6e81786ff07ab65e4a37a7d96ff3552b">GetError</a> ()</td></tr>
<tr class="memitem:aa092b586f36ee5c82c187ca0e2e90a1b"><td class="memItemLeft" align="right" valign="top">lldb::user_id_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aa092b586f36ee5c82c187ca0e2e90a1b">GetID</a> ()</td></tr>
<tr class="memitem:a9336bf6353ddd0bf56431ab331eb981c"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a9336bf6353ddd0bf56431ab331eb981c">GetName</a> ()</td></tr>
<tr class="memitem:a8b101308dff7d9d476c069d0cd493bd0"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a8b101308dff7d9d476c069d0cd493bd0">GetTypeName</a> ()</td></tr>
<tr class="memitem:ae6d83d5709502c7c7d814406b1ed56dc"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#ae6d83d5709502c7c7d814406b1ed56dc">GetByteSize</a> ()</td></tr>
<tr class="memitem:aeb5241e53eaea96de6548c31f687d8b5"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aeb5241e53eaea96de6548c31f687d8b5">IsInScope</a> ()</td></tr>
<tr class="memitem:a7e6b1d2874c8c44494dbde0b3f760ed2"><td class="memItemLeft" align="right" valign="top">lldb::Format </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a7e6b1d2874c8c44494dbde0b3f760ed2">GetFormat</a> ()</td></tr>
<tr class="memitem:a80f0e40c9d06808c93ea826b142c4124"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a80f0e40c9d06808c93ea826b142c4124">SetFormat</a> (lldb::Format format)</td></tr>
<tr class="memitem:a503366d471f39d69b41950cd5a67c5ea"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a503366d471f39d69b41950cd5a67c5ea">GetValue</a> ()</td></tr>
<tr class="memitem:adff526d8d998bc4add49594717f2a77c"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#adff526d8d998bc4add49594717f2a77c">GetValueAsSigned</a> (<a class="el" href="classlldb_1_1SBError.html">lldb::SBError</a> &error, int64_t fail_value=0)</td></tr>
<tr class="memitem:aa13ee416338d372d41b9dd4a104a3418"><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aa13ee416338d372d41b9dd4a104a3418">GetValueAsUnsigned</a> (<a class="el" href="classlldb_1_1SBError.html">lldb::SBError</a> &error, uint64_t fail_value=0)</td></tr>
<tr class="memitem:ae9c78774c30cc48897986f501b84c835"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#ae9c78774c30cc48897986f501b84c835">GetValueAsSigned</a> (int64_t fail_value=0)</td></tr>
<tr class="memitem:af982d1895c389a3dbb22630e0a05f875"><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#af982d1895c389a3dbb22630e0a05f875">GetValueAsUnsigned</a> (uint64_t fail_value=0)</td></tr>
<tr class="memitem:ad8088c06adc9b2ecb987e23bf6cf39b9"><td class="memItemLeft" align="right" valign="top">ValueType </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#ad8088c06adc9b2ecb987e23bf6cf39b9">GetValueType</a> ()</td></tr>
<tr class="memitem:a5eb6b7ee0dc9493e4d77a66923f1e34c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a5eb6b7ee0dc9493e4d77a66923f1e34c">GetValueDidChange</a> ()</td></tr>
<tr class="memitem:ade17383a2c714484172b8e17120c4f4f"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#ade17383a2c714484172b8e17120c4f4f">GetSummary</a> ()</td></tr>
<tr class="memitem:a8ed278e3f4eef6a2a13eba0c2a61c457"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a8ed278e3f4eef6a2a13eba0c2a61c457">GetObjectDescription</a> ()</td></tr>
<tr class="memitem:ac799435e70bb7f7989eb99b6f0796dd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#ac799435e70bb7f7989eb99b6f0796dd2">GetDynamicValue</a> (lldb::DynamicValueType use_dynamic)</td></tr>
<tr class="memitem:ab628bed9002277ccb36b67d90e77ebf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#ab628bed9002277ccb36b67d90e77ebf1">GetStaticValue</a> ()</td></tr>
<tr class="memitem:a65988284cbdf85704287a247d261345e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a65988284cbdf85704287a247d261345e">GetNonSyntheticValue</a> ()</td></tr>
<tr class="memitem:a52f47defc044f758f450c385d7bb3667"><td class="memItemLeft" align="right" valign="top">lldb::DynamicValueType </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a52f47defc044f758f450c385d7bb3667">GetPreferDynamicValue</a> ()</td></tr>
<tr class="memitem:a315bae545f92963762420a3b72a91379"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a315bae545f92963762420a3b72a91379">SetPreferDynamicValue</a> (lldb::DynamicValueType use_dynamic)</td></tr>
<tr class="memitem:a8ccfaf1c023ee239fb6db23e149eb76e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a8ccfaf1c023ee239fb6db23e149eb76e">GetPreferSyntheticValue</a> ()</td></tr>
<tr class="memitem:a81fe4f155a8c138c674db9bbe2cb3d80"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a81fe4f155a8c138c674db9bbe2cb3d80">SetPreferSyntheticValue</a> (bool use_synthetic)</td></tr>
<tr class="memitem:acd2f60bec9535f25d922a56502a4e109"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#acd2f60bec9535f25d922a56502a4e109">IsDynamic</a> ()</td></tr>
<tr class="memitem:a45793f1993831015d9fc850d09b39a9e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a45793f1993831015d9fc850d09b39a9e">IsSynthetic</a> ()</td></tr>
<tr class="memitem:aca99f101c41b2c8f333ab0587e959f8b"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aca99f101c41b2c8f333ab0587e959f8b">GetLocation</a> ()</td></tr>
<tr class="memitem:ae0c2b7b60f4a32740a97345859da8e42"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#ae0c2b7b60f4a32740a97345859da8e42">SetValueFromCString</a> (const char *value_str)</td></tr>
<tr class="memitem:a1d90227f8fd6c7cbf2a534b930c6c163"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a1d90227f8fd6c7cbf2a534b930c6c163">SetValueFromCString</a> (const char *value_str, <a class="el" href="classlldb_1_1SBError.html">lldb::SBError</a> &error)</td></tr>
<tr class="memitem:a30ad3e5456e5ed6419a6916135f184fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBTypeFormat.html">lldb::SBTypeFormat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a30ad3e5456e5ed6419a6916135f184fc">GetTypeFormat</a> ()</td></tr>
<tr class="memitem:af5f28c0117d6375d1f7c2d6ca13a7f73"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBTypeSummary.html">lldb::SBTypeSummary</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#af5f28c0117d6375d1f7c2d6ca13a7f73">GetTypeSummary</a> ()</td></tr>
<tr class="memitem:a41518afad8dd8c285aad198c3f624890"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBTypeFilter.html">lldb::SBTypeFilter</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a41518afad8dd8c285aad198c3f624890">GetTypeFilter</a> ()</td></tr>
<tr class="memitem:ac31ae3d61517229d47e9dcbc721863d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBTypeSynthetic.html">lldb::SBTypeSynthetic</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#ac31ae3d61517229d47e9dcbc721863d1">GetTypeSynthetic</a> ()</td></tr>
<tr class="memitem:a228796c69506279510e8a5104f5a31cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a228796c69506279510e8a5104f5a31cf">GetChildAtIndex</a> (uint32_t idx)</td></tr>
<tr class="memitem:a887b4407707fc9a45ccf317eda47ca05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a887b4407707fc9a45ccf317eda47ca05">CreateChildAtOffset</a> (const char *name, uint32_t offset, <a class="el" href="classlldb_1_1SBType.html">lldb::SBType</a> type)</td></tr>
<tr class="memitem:a0d26e639c983fb1de164287901ce72c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a0d26e639c983fb1de164287901ce72c4">Cast</a> (<a class="el" href="classlldb_1_1SBType.html">lldb::SBType</a> type)</td></tr>
<tr class="memitem:abee889c813e55e15ce0cc29b82f859d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#abee889c813e55e15ce0cc29b82f859d3">CreateValueFromExpression</a> (const char *name, const char *expression)</td></tr>
<tr class="memitem:a45da21a6dcb92a85634c3395a454933e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a45da21a6dcb92a85634c3395a454933e">CreateValueFromExpression</a> (const char *name, const char *expression, <a class="el" href="classlldb_1_1SBExpressionOptions.html">SBExpressionOptions</a> &options)</td></tr>
<tr class="memitem:aedbdd1c5a5f87ccaac7f56f82364ff00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aedbdd1c5a5f87ccaac7f56f82364ff00">CreateValueFromAddress</a> (const char *name, lldb::addr_t address, <a class="el" href="classlldb_1_1SBType.html">lldb::SBType</a> type)</td></tr>
<tr class="memitem:af23af791be9d72c5ac8351a7dad555fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#af23af791be9d72c5ac8351a7dad555fa">CreateValueFromData</a> (const char *name, <a class="el" href="classlldb_1_1SBData.html">lldb::SBData</a> data, <a class="el" href="classlldb_1_1SBType.html">lldb::SBType</a> type)</td></tr>
<tr class="memitem:a737d9b5b1b19e675290c34d7a6a01c74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a737d9b5b1b19e675290c34d7a6a01c74">GetChildAtIndex</a> (uint32_t idx, lldb::DynamicValueType use_dynamic, bool can_create_synthetic)</td></tr>
<tr class="memitem:a07dca50a5866e07958fcac10cba09d8a"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a07dca50a5866e07958fcac10cba09d8a">GetIndexOfChildWithName</a> (const char *name)</td></tr>
<tr class="memitem:af4996af065bdc605987e6b0f2c45c656"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#af4996af065bdc605987e6b0f2c45c656">GetChildMemberWithName</a> (const char *name)</td></tr>
<tr class="memitem:a95db6ba81063c226324cac8c97dc7e69"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a95db6ba81063c226324cac8c97dc7e69">GetChildMemberWithName</a> (const char *name, lldb::DynamicValueType use_dynamic)</td></tr>
<tr class="memitem:a98760cbf5a76db75c56437c70b77ad40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a98760cbf5a76db75c56437c70b77ad40">GetValueForExpressionPath</a> (const char *expr_path)</td></tr>
<tr class="memitem:a00543973caf6a018b9d00dd32736e0c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a00543973caf6a018b9d00dd32736e0c8">AddressOf</a> ()</td></tr>
<tr class="memitem:af2ed8881791294aa0d31d1245d6fa5dc"><td class="memItemLeft" align="right" valign="top">lldb::addr_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#af2ed8881791294aa0d31d1245d6fa5dc">GetLoadAddress</a> ()</td></tr>
<tr class="memitem:a8edfd3519ec167ec6e22d932ea571da3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBAddress.html">lldb::SBAddress</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a8edfd3519ec167ec6e22d932ea571da3">GetAddress</a> ()</td></tr>
<tr class="memitem:a5d749ba3a6eecfd23d42597909e2ddb9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBData.html">lldb::SBData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a5d749ba3a6eecfd23d42597909e2ddb9">GetPointeeData</a> (uint32_t item_idx=0, uint32_t item_count=1)</td></tr>
<tr class="memitem:a6df6fd10bbd613b1eadee829d2ebf942"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBData.html">lldb::SBData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a6df6fd10bbd613b1eadee829d2ebf942">GetData</a> ()</td></tr>
<tr class="memitem:a8f09490d01d984fae782fd3a8f2cd22b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a8f09490d01d984fae782fd3a8f2cd22b">SetData</a> (<a class="el" href="classlldb_1_1SBData.html">lldb::SBData</a> &data, <a class="el" href="classlldb_1_1SBError.html">lldb::SBError</a> &error)</td></tr>
<tr class="memitem:aada41532a98b5691f6059901cdc8588c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBDeclaration.html">lldb::SBDeclaration</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aada41532a98b5691f6059901cdc8588c">GetDeclaration</a> ()</td></tr>
<tr class="memitem:afc210c6aabc29d5cde8c9215a383203e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#afc210c6aabc29d5cde8c9215a383203e">MightHaveChildren</a> ()</td></tr>
<tr class="memitem:abd63f98558e80672ecc3003fa12105be"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#abd63f98558e80672ecc3003fa12105be">GetNumChildren</a> ()</td></tr>
<tr class="memitem:ad3ea9872ad3ca91b8cf8f1f4f5cf717b"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#ad3ea9872ad3ca91b8cf8f1f4f5cf717b">GetOpaqueType</a> ()</td></tr>
<tr class="memitem:afec030b48920112773054bad15e62c05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBTarget.html">lldb::SBTarget</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#afec030b48920112773054bad15e62c05">GetTarget</a> ()</td></tr>
<tr class="memitem:a9473dc173e704db3adcfab0b0bf217d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBProcess.html">lldb::SBProcess</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a9473dc173e704db3adcfab0b0bf217d4">GetProcess</a> ()</td></tr>
<tr class="memitem:a6f543e1bca45ec6843c27d8ec8b7790d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBThread.html">lldb::SBThread</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a6f543e1bca45ec6843c27d8ec8b7790d">GetThread</a> ()</td></tr>
<tr class="memitem:a800c76943b23c0a7f2b1041af355f3f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBFrame.html">lldb::SBFrame</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a800c76943b23c0a7f2b1041af355f3f7">GetFrame</a> ()</td></tr>
<tr class="memitem:aa834eca36c84cae38b18d848ab5fef77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aa834eca36c84cae38b18d848ab5fef77">Dereference</a> ()</td></tr>
<tr class="memitem:afb44cf0e3d4356d66c9bdd91daff8544"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#afb44cf0e3d4356d66c9bdd91daff8544">TypeIsPointerType</a> ()</td></tr>
<tr class="memitem:a1cf1eddf4812ac29b72718c8c12b7990"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBType.html">lldb::SBType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a1cf1eddf4812ac29b72718c8c12b7990">GetType</a> ()</td></tr>
<tr class="memitem:af865100391daceb62ad38cb2a775d318"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#af865100391daceb62ad38cb2a775d318">GetDescription</a> (<a class="el" href="classlldb_1_1SBStream.html">lldb::SBStream</a> &description)</td></tr>
<tr class="memitem:aef438d53ccc7164671591fce76684ae9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aef438d53ccc7164671591fce76684ae9">GetExpressionPath</a> (<a class="el" href="classlldb_1_1SBStream.html">lldb::SBStream</a> &description)</td></tr>
<tr class="memitem:a755d94c5151edeaec04c2d3b704506f6"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a755d94c5151edeaec04c2d3b704506f6">GetExpressionPath</a> (<a class="el" href="classlldb_1_1SBStream.html">lldb::SBStream</a> &description, bool qualify_cxx_base_classes)</td></tr>
<tr class="memitem:aecba688c6a3e94fbfdabec88a6582bbd"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aecba688c6a3e94fbfdabec88a6582bbd">SBValue</a> (const lldb::ValueObjectSP &value_sp)</td></tr>
<tr class="memitem:a46eb5ffd4fcd0af0c7e9c567766fcdbc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBWatchpoint.html">lldb::SBWatchpoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a46eb5ffd4fcd0af0c7e9c567766fcdbc">Watch</a> (bool resolve_location, bool read, bool write, <a class="el" href="classlldb_1_1SBError.html">SBError</a> &error)</td></tr>
<tr class="memitem:a15ffb02d2b4fc56430a94728349179d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBWatchpoint.html">lldb::SBWatchpoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a15ffb02d2b4fc56430a94728349179d3">Watch</a> (bool resolve_location, bool read, bool write)</td></tr>
<tr class="memitem:a91084eb4318f98d8ca60afb1e25edd3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlldb_1_1SBWatchpoint.html">lldb::SBWatchpoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a91084eb4318f98d8ca60afb1e25edd3c">WatchPointee</a> (bool resolve_location, bool read, bool write, <a class="el" href="classlldb_1_1SBError.html">SBError</a> &error)</td></tr>
<tr class="memitem:a429a66b756f4bd37955ec4ef02a97a71"><td class="memItemLeft" align="right" valign="top">lldb::ValueObjectSP </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a429a66b756f4bd37955ec4ef02a97a71">GetSP</a> () const </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ae77c270e713bb288d5f90be374a4e3f1"><td class="memItemLeft" align="right" valign="top">lldb::ValueObjectSP </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#ae77c270e713bb288d5f90be374a4e3f1">GetSP</a> (<a class="el" href="classlldb_1_1SBValue.html#a4db48a61a02f20a88f0980b00e334850">ValueLocker</a> &value_locker) const </td></tr>
<tr class="memitem:a2a4d580120b72e46d400899a530af059"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a2a4d580120b72e46d400899a530af059">SetSP</a> (const lldb::ValueObjectSP &sp)</td></tr>
<tr class="memitem:a50704e6f1e279cf4b52ad737aacf4a9a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a50704e6f1e279cf4b52ad737aacf4a9a">SetSP</a> (const lldb::ValueObjectSP &sp, bool use_synthetic)</td></tr>
<tr class="memitem:a9c5075bffa6271ced8004c1a98777e1a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a9c5075bffa6271ced8004c1a98777e1a">SetSP</a> (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic)</td></tr>
<tr class="memitem:a6a2ba30f6e131bc592a2a60c97e94e75"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a6a2ba30f6e131bc592a2a60c97e94e75">SetSP</a> (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic, bool use_synthetic)</td></tr>
<tr class="memitem:aa87eeca152de47f83a4a6ef8a6a637bf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#aa87eeca152de47f83a4a6ef8a6a637bf">SetSP</a> (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic, bool use_synthetic, const char *name)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a4db48a61a02f20a88f0980b00e334850"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a4db48a61a02f20a88f0980b00e334850">ValueLocker</a></td></tr>
<tr class="memitem:a9a0f451374fae1de4a565d58be988a42"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a9a0f451374fae1de4a565d58be988a42">SBBlock</a></td></tr>
<tr class="memitem:abf05358ec2c89fa95b69c85ed46492c9"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#abf05358ec2c89fa95b69c85ed46492c9">SBFrame</a></td></tr>
<tr class="memitem:a593230acf95f9720217b7fb17681efca"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a593230acf95f9720217b7fb17681efca">SBTarget</a></td></tr>
<tr class="memitem:a95c9ffeaf2f2f85963ac8ffb40bdd494"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a95c9ffeaf2f2f85963ac8ffb40bdd494">SBThread</a></td></tr>
<tr class="memitem:a1affd5a9e86efe2ecf4a17f5668cf4f8"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classlldb_1_1SBValue.html#a1affd5a9e86efe2ecf4a17f5668cf4f8">SBValueList</a></td></tr>
</table>
<a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="SBValue_8h_source.html#l00022">22</a> of file <a class="el" href="SBValue_8h_source.html">SBValue.h</a>.</p>
</div><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" id="aa49e37d8303ce3ef28a531b8e0cda1d1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::SBValue::SBValue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9988daf907386fa40b737f89a1bfb625"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::SBValue::SBValue </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> & </td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1899eea515c5306226ef31bbecc7fae1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::SBValue::~SBValue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aecba688c6a3e94fbfdabec88a6582bbd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::SBValue::SBValue </td>
<td>(</td>
<td class="paramtype">const lldb::ValueObjectSP & </td>
<td class="paramname"><em>value_sp</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2>Member Function Documentation</h2>
<a class="anchor" id="a00543973caf6a018b9d00dd32736e0c8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::AddressOf </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0d26e639c983fb1de164287901ce72c4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::Cast </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBType.html">lldb::SBType</a> </td>
<td class="paramname"><em>type</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8cc6c31f15a978433d9574560d679db1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void lldb::SBValue::Clear </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a887b4407707fc9a45ccf317eda47ca05"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::CreateChildAtOffset </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t </td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBType.html">lldb::SBType</a> </td>
<td class="paramname"><em>type</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aedbdd1c5a5f87ccaac7f56f82364ff00"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::CreateValueFromAddress </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lldb::addr_t </td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBType.html">lldb::SBType</a> </td>
<td class="paramname"><em>type</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af23af791be9d72c5ac8351a7dad555fa"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::CreateValueFromData </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBData.html">lldb::SBData</a> </td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBType.html">lldb::SBType</a> </td>
<td class="paramname"><em>type</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="abee889c813e55e15ce0cc29b82f859d3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::CreateValueFromExpression </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>expression</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a45da21a6dcb92a85634c3395a454933e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::CreateValueFromExpression </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>expression</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBExpressionOptions.html">SBExpressionOptions</a> & </td>
<td class="paramname"><em>options</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa834eca36c84cae38b18d848ab5fef77"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::Dereference </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8edfd3519ec167ec6e22d932ea571da3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBAddress.html">lldb::SBAddress</a> lldb::SBValue::GetAddress </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae6d83d5709502c7c7d814406b1ed56dc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t lldb::SBValue::GetByteSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a228796c69506279510e8a5104f5a31cf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::GetChildAtIndex </td>
<td>(</td>
<td class="paramtype">uint32_t </td>
<td class="paramname"><em>idx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a737d9b5b1b19e675290c34d7a6a01c74"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::GetChildAtIndex </td>
<td>(</td>
<td class="paramtype">uint32_t </td>
<td class="paramname"><em>idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lldb::DynamicValueType </td>
<td class="paramname"><em>use_dynamic</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>can_create_synthetic</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a child value by index from a value.</p>
<p>Structs, unions, classes, arrays and and pointers have child values that can be access by index.</p>
<p>Structs and unions access child members using a zero based index for each child member. For</p>
<p>Classes reserve the first indexes for base classes that have members (empty base classes are omitted), and all members of the current class will then follow the base classes.</p>
<p>Pointers differ depending on what they point to. If the pointer points to a simple type, the child at index zero is the only child value available, unless <em>synthetic_allowed</em> is <b>true</b>, in which case the pointer will be used as an array and can create 'synthetic' child values using positive or negative indexes. If the pointer points to an aggregate type (an array, class, union, struct), then the pointee is transparently skipped and any children are going to be the indexes of the child values within the aggregate type. For example if we have a 'Point' type and we have a <a class="el" href="classlldb_1_1SBValue.html">SBValue</a> that contains a pointer to a 'Point' type, then the child at index zero will be the 'x' member, and the child at index 1 will be the 'y' member (the child at index zero won't be a 'Point' instance).</p>
<p>Arrays have a preset number of children that can be accessed by index and will returns invalid child values for indexes that are out of bounds unless the <em>synthetic_allowed</em> is <b>true</b>. In this case the array can create 'synthetic' child values for indexes that aren't in the array bounds using positive or negative indexes.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">idx</td><td>The index of the child value to get</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">use_dynamic</td><td>An enumeration that specifies wether to get dynamic values, and also if the target can be run to figure out the dynamic type of the child value.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">synthetic_allowed</td><td>If <b>true</b>, then allow child values to be created by index for pointers and arrays for indexes that normally wouldn't be allowed.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="classlldb_1_1SBValue.html">SBValue</a> object that represents the child member value. </dd></dl>
</div>
</div>
<a class="anchor" id="af4996af065bdc605987e6b0f2c45c656"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::GetChildMemberWithName </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a95db6ba81063c226324cac8c97dc7e69"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::GetChildMemberWithName </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lldb::DynamicValueType </td>
<td class="paramname"><em>use_dynamic</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6df6fd10bbd613b1eadee829d2ebf942"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBData.html">lldb::SBData</a> lldb::SBValue::GetData </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get an <a class="el" href="classlldb_1_1SBData.html">SBData</a> wrapping the contents of this <a class="el" href="classlldb_1_1SBValue.html">SBValue</a>.</p>
<p>This method will read the contents of this object in memory and copy them into an <a class="el" href="classlldb_1_1SBData.html">SBData</a> for future use.</p>
<dl class="section return"><dt>Returns</dt><dd>An <a class="el" href="classlldb_1_1SBData.html">SBData</a> with the contents of this <a class="el" href="classlldb_1_1SBValue.html">SBValue</a>, on success. An empty <a class="el" href="classlldb_1_1SBData.html">SBData</a> otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="aada41532a98b5691f6059901cdc8588c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBDeclaration.html">lldb::SBDeclaration</a> lldb::SBValue::GetDeclaration </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af865100391daceb62ad38cb2a775d318"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::GetDescription </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBStream.html">lldb::SBStream</a> & </td>
<td class="paramname"><em>description</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac799435e70bb7f7989eb99b6f0796dd2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::GetDynamicValue </td>
<td>(</td>
<td class="paramtype">lldb::DynamicValueType </td>
<td class="paramname"><em>use_dynamic</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6e81786ff07ab65e4a37a7d96ff3552b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBError.html">SBError</a> lldb::SBValue::GetError </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aef438d53ccc7164671591fce76684ae9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::GetExpressionPath </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBStream.html">lldb::SBStream</a> & </td>
<td class="paramname"><em>description</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a755d94c5151edeaec04c2d3b704506f6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::GetExpressionPath </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBStream.html">lldb::SBStream</a> & </td>
<td class="paramname"><em>description</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>qualify_cxx_base_classes</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7e6b1d2874c8c44494dbde0b3f760ed2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::Format lldb::SBValue::GetFormat </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a800c76943b23c0a7f2b1041af355f3f7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBFrame.html">lldb::SBFrame</a> lldb::SBValue::GetFrame </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa092b586f36ee5c82c187ca0e2e90a1b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::user_id_t lldb::SBValue::GetID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a07dca50a5866e07958fcac10cba09d8a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lldb::SBValue::GetIndexOfChildWithName </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af2ed8881791294aa0d31d1245d6fa5dc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::addr_t lldb::SBValue::GetLoadAddress </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aca99f101c41b2c8f333ab0587e959f8b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* lldb::SBValue::GetLocation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9336bf6353ddd0bf56431ab331eb981c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* lldb::SBValue::GetName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a65988284cbdf85704287a247d261345e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::GetNonSyntheticValue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="abd63f98558e80672ecc3003fa12105be"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t lldb::SBValue::GetNumChildren </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8ed278e3f4eef6a2a13eba0c2a61c457"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* lldb::SBValue::GetObjectDescription </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad3ea9872ad3ca91b8cf8f1f4f5cf717b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* lldb::SBValue::GetOpaqueType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5d749ba3a6eecfd23d42597909e2ddb9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBData.html">lldb::SBData</a> lldb::SBValue::GetPointeeData </td>
<td>(</td>
<td class="paramtype">uint32_t </td>
<td class="paramname"><em>item_idx</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t </td>
<td class="paramname"><em>item_count</em> = <code>1</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get an <a class="el" href="classlldb_1_1SBData.html">SBData</a> wrapping what this <a class="el" href="classlldb_1_1SBValue.html">SBValue</a> points to.</p>
<p>This method will dereference the current <a class="el" href="classlldb_1_1SBValue.html">SBValue</a>, if its data type is a T* or T[], and extract item_count elements of type T from it, copying their contents in an <a class="el" href="classlldb_1_1SBData.html">SBData</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">item_idx</td><td>The index of the first item to retrieve. For an array this is equivalent to array[item_idx], for a pointer to *(pointer + item_idx). In either case, the measurement unit for item_idx is the sizeof(T) rather than the byte</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">item_count</td><td>How many items should be copied into the output. By default only one item is copied, but more can be asked for.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An <a class="el" href="classlldb_1_1SBData.html">SBData</a> with the contents of the copied items, on success. An empty <a class="el" href="classlldb_1_1SBData.html">SBData</a> otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="a52f47defc044f758f450c385d7bb3667"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::DynamicValueType lldb::SBValue::GetPreferDynamicValue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8ccfaf1c023ee239fb6db23e149eb76e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::GetPreferSyntheticValue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9473dc173e704db3adcfab0b0bf217d4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBProcess.html">lldb::SBProcess</a> lldb::SBValue::GetProcess </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a429a66b756f4bd37955ec4ef02a97a71"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lldb::ValueObjectSP lldb::SBValue::GetSP </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as the protected version of GetSP that takes a locker, except that we make the locker locally in the function. Since the Target API mutex is recursive, and the StopLocker is a read lock, you can call this function even if you are already holding the two above-mentioned locks.</p>
<dl class="section return"><dt>Returns</dt><dd>A ValueObjectSP of the best kind (static, dynamic or synthetic) we can cons up, in accordance with the <a class="el" href="classlldb_1_1SBValue.html">SBValue</a>'s settings. </dd></dl>
</div>
</div>
<a class="anchor" id="ae77c270e713bb288d5f90be374a4e3f1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">lldb::ValueObjectSP lldb::SBValue::GetSP </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBValue.html#a4db48a61a02f20a88f0980b00e334850">ValueLocker</a> & </td>
<td class="paramname"><em>value_locker</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the appropriate ValueObjectSP from this <a class="el" href="classlldb_1_1SBValue.html">SBValue</a>, consulting the use_dynamic and use_synthetic options passed in to SetSP when the <a class="el" href="classlldb_1_1SBValue.html">SBValue</a>'s contents were set. Since this often requires examining memory, and maybe even running code, it needs to acquire the Target API and Process StopLock. Those are held in an opaque class ValueLocker which is currently local to SBValue.cpp. So you don't have to get these yourself just default construct a ValueLocker, and pass it into this. If we need to make a ValueLocker and use it in some other .cpp file, we'll have to move it to ValueObject.h/cpp or somewhere else convenient. We haven't needed to so far.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value_locker</td><td>An object that will hold the Target API, and Process RunLocks, and auto-destroy them when it goes out of scope. Currently this is only useful in SBValue.cpp.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A ValueObjectSP of the best kind (static, dynamic or synthetic) we can cons up, in accordance with the <a class="el" href="classlldb_1_1SBValue.html">SBValue</a>'s settings. </dd></dl>
</div>
</div>
<a class="anchor" id="ab628bed9002277ccb36b67d90e77ebf1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::GetStaticValue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ade17383a2c714484172b8e17120c4f4f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* lldb::SBValue::GetSummary </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="afec030b48920112773054bad15e62c05"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBTarget.html">lldb::SBTarget</a> lldb::SBValue::GetTarget </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6f543e1bca45ec6843c27d8ec8b7790d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBThread.html">lldb::SBThread</a> lldb::SBValue::GetThread </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1cf1eddf4812ac29b72718c8c12b7990"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBType.html">lldb::SBType</a> lldb::SBValue::GetType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a41518afad8dd8c285aad198c3f624890"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBTypeFilter.html">lldb::SBTypeFilter</a> lldb::SBValue::GetTypeFilter </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a30ad3e5456e5ed6419a6916135f184fc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBTypeFormat.html">lldb::SBTypeFormat</a> lldb::SBValue::GetTypeFormat </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8b101308dff7d9d476c069d0cd493bd0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* lldb::SBValue::GetTypeName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af5f28c0117d6375d1f7c2d6ca13a7f73"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBTypeSummary.html">lldb::SBTypeSummary</a> lldb::SBValue::GetTypeSummary </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac31ae3d61517229d47e9dcbc721863d1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBTypeSynthetic.html">lldb::SBTypeSynthetic</a> lldb::SBValue::GetTypeSynthetic </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a503366d471f39d69b41950cd5a67c5ea"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* lldb::SBValue::GetValue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="adff526d8d998bc4add49594717f2a77c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t lldb::SBValue::GetValueAsSigned </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBError.html">lldb::SBError</a> & </td>
<td class="paramname"><em>error</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t </td>
<td class="paramname"><em>fail_value</em> = <code>0</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae9c78774c30cc48897986f501b84c835"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t lldb::SBValue::GetValueAsSigned </td>
<td>(</td>
<td class="paramtype">int64_t </td>
<td class="paramname"><em>fail_value</em> = <code>0</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa13ee416338d372d41b9dd4a104a3418"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t lldb::SBValue::GetValueAsUnsigned </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBError.html">lldb::SBError</a> & </td>
<td class="paramname"><em>error</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t </td>
<td class="paramname"><em>fail_value</em> = <code>0</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af982d1895c389a3dbb22630e0a05f875"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t lldb::SBValue::GetValueAsUnsigned </td>
<td>(</td>
<td class="paramtype">uint64_t </td>
<td class="paramname"><em>fail_value</em> = <code>0</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5eb6b7ee0dc9493e4d77a66923f1e34c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::GetValueDidChange </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a98760cbf5a76db75c56437c70b77ad40"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> lldb::SBValue::GetValueForExpressionPath </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>expr_path</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad8088c06adc9b2ecb987e23bf6cf39b9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ValueType lldb::SBValue::GetValueType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="acd2f60bec9535f25d922a56502a4e109"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::IsDynamic </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aeb5241e53eaea96de6548c31f687d8b5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::IsInScope </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a45793f1993831015d9fc850d09b39a9e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::IsSynthetic </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aacd654ded75c4ecaf2ee947931decc81"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::IsValid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="afc210c6aabc29d5cde8c9215a383203e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::MightHaveChildren </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Find out if a <a class="el" href="classlldb_1_1SBValue.html">SBValue</a> might have children.</p>
<p>This call is much more efficient than <a class="el" href="classlldb_1_1SBValue.html#abd63f98558e80672ecc3003fa12105be">GetNumChildren()</a> as it doesn't need to complete the underlying type. This is designed to be used in a UI environment in order to detect if the disclosure triangle should be displayed or not.</p>
<p>This function returns true for class, union, structure, pointers, references, arrays and more. Again, it does so without doing any expensive type completion.</p>
<dl class="section return"><dt>Returns</dt><dd>Returns <b>true</b> if the <a class="el" href="classlldb_1_1SBValue.html">SBValue</a> might have children, or <b>false</b> otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="aa28264d9e4e2044a3fcc4ecd52c1a7e4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a>& lldb::SBValue::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classlldb_1_1SBValue.html">lldb::SBValue</a> & </td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8f09490d01d984fae782fd3a8f2cd22b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::SetData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBData.html">lldb::SBData</a> & </td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBError.html">lldb::SBError</a> & </td>
<td class="paramname"><em>error</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a80f0e40c9d06808c93ea826b142c4124"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void lldb::SBValue::SetFormat </td>
<td>(</td>
<td class="paramtype">lldb::Format </td>
<td class="paramname"><em>format</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a315bae545f92963762420a3b72a91379"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void lldb::SBValue::SetPreferDynamicValue </td>
<td>(</td>
<td class="paramtype">lldb::DynamicValueType </td>
<td class="paramname"><em>use_dynamic</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a81fe4f155a8c138c674db9bbe2cb3d80"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void lldb::SBValue::SetPreferSyntheticValue </td>
<td>(</td>
<td class="paramtype">bool </td>
<td class="paramname"><em>use_synthetic</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2a4d580120b72e46d400899a530af059"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void lldb::SBValue::SetSP </td>
<td>(</td>
<td class="paramtype">const lldb::ValueObjectSP & </td>
<td class="paramname"><em>sp</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a50704e6f1e279cf4b52ad737aacf4a9a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void lldb::SBValue::SetSP </td>
<td>(</td>
<td class="paramtype">const lldb::ValueObjectSP & </td>
<td class="paramname"><em>sp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>use_synthetic</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9c5075bffa6271ced8004c1a98777e1a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void lldb::SBValue::SetSP </td>
<td>(</td>
<td class="paramtype">const lldb::ValueObjectSP & </td>
<td class="paramname"><em>sp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lldb::DynamicValueType </td>
<td class="paramname"><em>use_dynamic</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6a2ba30f6e131bc592a2a60c97e94e75"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void lldb::SBValue::SetSP </td>
<td>(</td>
<td class="paramtype">const lldb::ValueObjectSP & </td>
<td class="paramname"><em>sp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lldb::DynamicValueType </td>
<td class="paramname"><em>use_dynamic</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>use_synthetic</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa87eeca152de47f83a4a6ef8a6a637bf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void lldb::SBValue::SetSP </td>
<td>(</td>
<td class="paramtype">const lldb::ValueObjectSP & </td>
<td class="paramname"><em>sp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">lldb::DynamicValueType </td>
<td class="paramname"><em>use_dynamic</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>use_synthetic</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae0c2b7b60f4a32740a97345859da8e42"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::SetValueFromCString </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>value_str</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1d90227f8fd6c7cbf2a534b930c6c163"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::SetValueFromCString </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>value_str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBError.html">lldb::SBError</a> & </td>
<td class="paramname"><em>error</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="afb44cf0e3d4356d66c9bdd91daff8544"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool lldb::SBValue::TypeIsPointerType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a46eb5ffd4fcd0af0c7e9c567766fcdbc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBWatchpoint.html">lldb::SBWatchpoint</a> lldb::SBValue::Watch </td>
<td>(</td>
<td class="paramtype">bool </td>
<td class="paramname"><em>resolve_location</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>read</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>write</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBError.html">SBError</a> & </td>
<td class="paramname"><em>error</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Watch this value if it resides in memory.</p>
<p>Sets a watchpoint on the value.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">resolve_location</td><td>Resolve the location of this value once and watch its address. This value must currently be set to <b>true</b> as watching all locations of a variable or a variable path is not yet supported, though we plan to support it in the future.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">read</td><td>Stop when this value is accessed.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">write</td><td>Stop when this value is modified</td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">An</td><td>error object. Contains the reason if there is some failure.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An <a class="el" href="classlldb_1_1SBWatchpoint.html">SBWatchpoint</a> object. This object might not be valid upon return due to a value not being contained in memory, too large, or watchpoint resources are not available or all in use. </dd></dl>
</div>
</div>
<a class="anchor" id="a15ffb02d2b4fc56430a94728349179d3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBWatchpoint.html">lldb::SBWatchpoint</a> lldb::SBValue::Watch </td>
<td>(</td>
<td class="paramtype">bool </td>
<td class="paramname"><em>resolve_location</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>read</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>write</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a91084eb4318f98d8ca60afb1e25edd3c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlldb_1_1SBWatchpoint.html">lldb::SBWatchpoint</a> lldb::SBValue::WatchPointee </td>
<td>(</td>
<td class="paramtype">bool </td>
<td class="paramname"><em>resolve_location</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>read</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>write</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlldb_1_1SBError.html">SBError</a> & </td>
<td class="paramname"><em>error</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Watch this value that this value points to in memory</p>
<p>Sets a watchpoint on the value.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">resolve_location</td><td>Resolve the location of this value once and watch its address. This value must currently be set to <b>true</b> as watching all locations of a variable or a variable path is not yet supported, though we plan to support it in the future.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">read</td><td>Stop when this value is accessed.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">write</td><td>Stop when this value is modified</td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">An</td><td>error object. Contains the reason if there is some failure.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An <a class="el" href="classlldb_1_1SBWatchpoint.html">SBWatchpoint</a> object. This object might not be valid upon return due to a value not being contained in memory, too large, or watchpoint resources are not available or all in use. </dd></dl>
</div>
</div>
<h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a9a0f451374fae1de4a565d58be988a42"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classlldb_1_1SBBlock.html">SBBlock</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SBValue_8h_source.html#l00434">434</a> of file <a class="el" href="SBValue_8h_source.html">SBValue.h</a>.</p>
</div>
</div>
<a class="anchor" id="abf05358ec2c89fa95b69c85ed46492c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classlldb_1_1SBFrame.html">SBFrame</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SBValue_8h_source.html#l00435">435</a> of file <a class="el" href="SBValue_8h_source.html">SBValue.h</a>.</p>
</div>
</div>
<a class="anchor" id="a593230acf95f9720217b7fb17681efca"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classlldb_1_1SBTarget.html">SBTarget</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SBValue_8h_source.html#l00436">436</a> of file <a class="el" href="SBValue_8h_source.html">SBValue.h</a>.</p>
</div>
</div>
<a class="anchor" id="a95c9ffeaf2f2f85963ac8ffb40bdd494"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classlldb_1_1SBThread.html">SBThread</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SBValue_8h_source.html#l00437">437</a> of file <a class="el" href="SBValue_8h_source.html">SBValue.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1affd5a9e86efe2ecf4a17f5668cf4f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classlldb_1_1SBValueList.html">SBValueList</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SBValue_8h_source.html#l00438">438</a> of file <a class="el" href="SBValue_8h_source.html">SBValue.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4db48a61a02f20a88f0980b00e334850"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class ValueLocker</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="SBValue_8h_source.html#l00024">24</a> of file <a class="el" href="SBValue_8h_source.html">SBValue.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="SBValue_8h_source.html">SBValue.h</a></li>
</ul>
</div><!-- contents -->
<hr>
<p class="footer">
Generated on Fri Jul 19 2013 13:25:55 for <a href="http://lldb.llvm.org/">LLVM</a> by
<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
align="middle" border="0"/>1.8.1.2</a><br>
Copyright © 2003-2013 University of Illinois at Urbana-Champaign.
All Rights Reserved.</p>
<hr>
<!--#include virtual="/attrib.incl" -->
</body>
</html>
您还没有登录,登录后您可以:
收藏Android系统代码
收藏喜欢的文章
多个平台共享账号
去登录
首次使用?从这里 注册