\hypertarget{a01230}{\section{Stack\+Walker Class Reference}
\label{a01230}\index{Stack\+Walker@{Stack\+Walker}}
}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{a00384}{Callstack\+Entry}
\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01230_aa09267d1a2142548625d11131fd9f6d2}{enum {\bfseries Stack\+Walk\+Options} \{ \\*
{\bfseries Retrieve\+None} = 0, 
{\bfseries Retrieve\+Symbol} = 1, 
{\bfseries Retrieve\+Line} = 2, 
{\bfseries Retrieve\+Module\+Info} = 4, 
\\*
{\bfseries Retrieve\+File\+Version} = 8, 
{\bfseries Retrieve\+Verbose} = 0x\+F, 
{\bfseries Sym\+Build\+Path} = 0x10, 
{\bfseries Sym\+Use\+Sym\+Srv} = 0x20, 
\\*
{\bfseries Sym\+All} = 0x30, 
{\bfseries Options\+All} = 0x3\+F
 \}}\label{a01230_aa09267d1a2142548625d11131fd9f6d2}

\item 
\hypertarget{a01230_ab000737544ddbb57c4a94b93a2cd8851}{enum \{ {\bfseries S\+T\+A\+C\+K\+W\+A\+L\+K\+\_\+\+M\+A\+X\+\_\+\+N\+A\+M\+E\+L\+E\+N} = 1024
 \}}\label{a01230_ab000737544ddbb57c4a94b93a2cd8851}

\item 
\hypertarget{a01230_a547d82a4196c05a09fd365d83ca9cd44}{typedef enum \\*
Stack\+Walker\+::\+Stack\+Walk\+Options {\bfseries Stack\+Walk\+Options}}\label{a01230_a547d82a4196c05a09fd365d83ca9cd44}

\item 
\hypertarget{a01230_a61956985807c0d6c582304c78c6dc85c}{typedef B\+O\+O\+L(\+\_\+\+\_\+stdcall $\ast$ {\bfseries P\+Read\+Process\+Memory\+Routine} )(H\+A\+N\+D\+L\+E h\+Process, D\+W\+O\+R\+D64 qw\+Base\+Address, P\+V\+O\+I\+D lp\+Buffer, D\+W\+O\+R\+D n\+Size, L\+P\+D\+W\+O\+R\+D lp\+Number\+Of\+Bytes\+Read, L\+P\+V\+O\+I\+D p\+User\+Data)}\label{a01230_a61956985807c0d6c582304c78c6dc85c}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01230_a70ca0d3bd1d2b015815fc951ab0442df}{{\bfseries Stack\+Walker} (int options=Options\+All, L\+P\+C\+S\+T\+R sz\+Sym\+Path=N\+U\+L\+L, D\+W\+O\+R\+D dw\+Process\+Id=Get\+Current\+Process\+Id(), H\+A\+N\+D\+L\+E h\+Process=Get\+Current\+Process())}\label{a01230_a70ca0d3bd1d2b015815fc951ab0442df}

\item 
\hypertarget{a01230_af36f5f0c916b2f350363c7ec8a8de15a}{{\bfseries Stack\+Walker} (D\+W\+O\+R\+D dw\+Process\+Id, H\+A\+N\+D\+L\+E h\+Process)}\label{a01230_af36f5f0c916b2f350363c7ec8a8de15a}

\item 
\hypertarget{a01230_a3e0e7f1329f594d89362309bf8fe2b21}{B\+O\+O\+L {\bfseries Load\+Modules} ()}\label{a01230_a3e0e7f1329f594d89362309bf8fe2b21}

\item 
\hypertarget{a01230_a26bacb66734ee2d1de20d51070b825ba}{B\+O\+O\+L {\bfseries Show\+Callstack} (H\+A\+N\+D\+L\+E h\+Thread=Get\+Current\+Thread(), const C\+O\+N\+T\+E\+X\+T $\ast$context=N\+U\+L\+L, P\+Read\+Process\+Memory\+Routine read\+Memory\+Function=N\+U\+L\+L, L\+P\+V\+O\+I\+D p\+User\+Data=N\+U\+L\+L)}\label{a01230_a26bacb66734ee2d1de20d51070b825ba}

\end{DoxyCompactItemize}
\subsection*{Protected Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01230_a6de6dcd460d11abee0c498fb55cba96e}{enum {\bfseries Callstack\+Entry\+Type} \{ {\bfseries first\+Entry}, 
{\bfseries next\+Entry}, 
{\bfseries last\+Entry}
 \}}\label{a01230_a6de6dcd460d11abee0c498fb55cba96e}

\item 
\hypertarget{a01230_ad0ad9c321961aad36f54779a8ca4ec12}{typedef struct \\*
\hyperlink{a00384}{Stack\+Walker\+::\+Callstack\+Entry} {\bfseries Callstack\+Entry}}\label{a01230_ad0ad9c321961aad36f54779a8ca4ec12}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01230_a7feaf96c40d81dcbd0bfcd34f78eaa30}{virtual void {\bfseries On\+Sym\+Init} (L\+P\+C\+S\+T\+R sz\+Search\+Path, D\+W\+O\+R\+D sym\+Options, L\+P\+C\+S\+T\+R sz\+User\+Name)}\label{a01230_a7feaf96c40d81dcbd0bfcd34f78eaa30}

\item 
\hypertarget{a01230_a64c6c648aee9a33e881f449aecd51912}{virtual void {\bfseries On\+Load\+Module} (L\+P\+C\+S\+T\+R img, L\+P\+C\+S\+T\+R mod, D\+W\+O\+R\+D64 base\+Addr, D\+W\+O\+R\+D size, D\+W\+O\+R\+D result, L\+P\+C\+S\+T\+R sym\+Type, L\+P\+C\+S\+T\+R pdb\+Name, U\+L\+O\+N\+G\+L\+O\+N\+G file\+Version)}\label{a01230_a64c6c648aee9a33e881f449aecd51912}

\item 
\hypertarget{a01230_a0fbb480cd30e9ff437a4baf9a18c2372}{virtual void {\bfseries On\+Callstack\+Entry} (Callstack\+Entry\+Type e\+Type, \hyperlink{a00384}{Callstack\+Entry} \&entry)}\label{a01230_a0fbb480cd30e9ff437a4baf9a18c2372}

\item 
\hypertarget{a01230_ab2220ae2084e72d2f0f005784c21e8dc}{virtual void {\bfseries On\+Dbg\+Help\+Err} (L\+P\+C\+S\+T\+R sz\+Func\+Name, D\+W\+O\+R\+D gle, D\+W\+O\+R\+D64 addr)}\label{a01230_ab2220ae2084e72d2f0f005784c21e8dc}

\item 
\hypertarget{a01230_a20ec3b0a1ba7723e113889135989ea6b}{virtual void {\bfseries On\+Output} (L\+P\+C\+S\+T\+R sz\+Text)}\label{a01230_a20ec3b0a1ba7723e113889135989ea6b}

\end{DoxyCompactItemize}
\subsection*{Static Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01230_a3428311b98b8e8366419e9e5467c294d}{static B\+O\+O\+L \+\_\+\+\_\+stdcall {\bfseries my\+Read\+Proc\+Mem} (H\+A\+N\+D\+L\+E h\+Process, D\+W\+O\+R\+D64 qw\+Base\+Address, P\+V\+O\+I\+D lp\+Buffer, D\+W\+O\+R\+D n\+Size, L\+P\+D\+W\+O\+R\+D lp\+Number\+Of\+Bytes\+Read)}\label{a01230_a3428311b98b8e8366419e9e5467c294d}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01230_a13524e6f4cd89a8b3a3fd378e3cd3f55}{\hyperlink{a01231}{Stack\+Walker\+Internal} $\ast$ {\bfseries m\+\_\+sw}}\label{a01230_a13524e6f4cd89a8b3a3fd378e3cd3f55}

\item 
\hypertarget{a01230_a7db892daef90d499084f5e9dd5294ab9}{H\+A\+N\+D\+L\+E {\bfseries m\+\_\+h\+Process}}\label{a01230_a7db892daef90d499084f5e9dd5294ab9}

\item 
\hypertarget{a01230_adf8bda5434856605a470d42c3db49b38}{D\+W\+O\+R\+D {\bfseries m\+\_\+dw\+Process\+Id}}\label{a01230_adf8bda5434856605a470d42c3db49b38}

\item 
\hypertarget{a01230_a20279e66ed48886369111d47dee4762f}{B\+O\+O\+L {\bfseries m\+\_\+modules\+Loaded}}\label{a01230_a20279e66ed48886369111d47dee4762f}

\item 
\hypertarget{a01230_aff1b39f2ea31f24b4a693928cdf5549d}{L\+P\+S\+T\+R {\bfseries m\+\_\+sz\+Sym\+Path}}\label{a01230_aff1b39f2ea31f24b4a693928cdf5549d}

\item 
\hypertarget{a01230_a3534033da2986b16d5f15f0b4feefa54}{int {\bfseries m\+\_\+options}}\label{a01230_a3534033da2986b16d5f15f0b4feefa54}

\item 
\hypertarget{a01230_acc7320865d2e5ce2d33536e94208c1f0}{int {\bfseries m\+\_\+\+Max\+Recursion\+Count}}\label{a01230_acc7320865d2e5ce2d33536e94208c1f0}

\item 
\hypertarget{a01230_ab0d4fa92227f651635d04da2947b873a}{friend {\bfseries Stack\+Walker\+Internal}}\label{a01230_ab0d4fa92227f651635d04da2947b873a}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01230_a24a3ca543cabb688bf818bf7596e8d69}{{\bfseries Stack\+Walker} (const \hyperlink{a01230}{Stack\+Walker} \&)}\label{a01230_a24a3ca543cabb688bf818bf7596e8d69}

\item 
\hypertarget{a01230_ab7219f7d1c106e0f0a5d7e20a611788c}{\hyperlink{a01230}{Stack\+Walker} \& {\bfseries operator=} (const \hyperlink{a01230}{Stack\+Walker} \&)}\label{a01230_ab7219f7d1c106e0f0a5d7e20a611788c}

\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 52 of file Stack\+Walker.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/\+Stack\+Walker/Stack\+Walker.\+hh\item 
Open\+Flipper/\+Stack\+Walker/Stack\+Walker.\+cc\end{DoxyCompactItemize}
