CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
57 lines
2.0 KiB
TeX
57 lines
2.0 KiB
TeX
\subsubsection{Class SymbolLookup}
|
|
\definedin{symlookup.h}
|
|
|
|
The \code{SymbolLookup} virtual class is an interface for associating a symbolic
|
|
name with a stack frame. Each \code{Frame} object contains an address (the RA)
|
|
pointing into the function (or function-like object) that created its stack
|
|
frame. However, users do not always want to deal with addresses when symbolic
|
|
names are more convenient. This class is an interface for mapping a \code{Frame} object's RA into a name.
|
|
|
|
In addition to getting a name, this class can also associate an opaque object
|
|
(via a \code{void*}) with a Frame object. It is up to the \code{SymbolLookup}
|
|
implementation what to return in this opaque object.
|
|
|
|
The default implementation of \code{SymbolLookup} provided by StackwalkerAPI
|
|
uses the \code{SymLite} tool to lookup symbol names. It returns a Symbol
|
|
object in the anonymous \code{void*}.
|
|
|
|
\begin{apient}
|
|
SymbolLookup(std::string exec_path = "");
|
|
\end{apient}
|
|
\apidesc{Constructor for a \code{SymbolLookup} object.}
|
|
|
|
\begin{apient}
|
|
virtual bool lookupAtAddr(Address addr,
|
|
string &out_name,
|
|
void* &out_value) = 0
|
|
\end{apient}
|
|
\apidesc{
|
|
This method takes an address, \code{addr}, as input and returns the function name,
|
|
\code{out\_name}, and an opaque value, \code{out\_value}, at that address. Output parameter
|
|
\code{out\_name} should be the name of the function that contains
|
|
\code{addr}. Output
|
|
parameter \code{out\_value} can be any opaque value determined by the
|
|
\code{SymbolLookup}
|
|
implementation. The values returned are used by the \code{Frame::getName} and
|
|
\code{Frame::getObject} functions.
|
|
|
|
This method returns \code{true} on success and \code{false} on error.
|
|
}
|
|
|
|
\begin{apient}
|
|
virtual Walker *getWalker()
|
|
\end{apient}
|
|
\apidesc{
|
|
This method returns the \code{Walker} object associated with this
|
|
\code{SymbolLookup}.
|
|
}
|
|
|
|
\begin{apient}
|
|
virtual ProcessState *getProcessSate()
|
|
\end{apient}
|
|
\apidesc{
|
|
This method returns the \code{ProcessState} object associated with this
|
|
\code{SymbolLookup}.
|
|
}
|
|
|