You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

429 lines
31 KiB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Pin: Pin Error Reporting Support</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Pin
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Pin Error Reporting Support</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gaa5229e893bc3646b53b8547328305441"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ERROR__FILE__BASIC.html#gaa5229e893bc3646b53b8547328305441">PIN_ERR_SEVERITY_TYPE</a> { <br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaa5229e893bc3646b53b8547328305441a3a9ed010756ea9f06b34211f6c66fba5">PIN_ERR_FATAL</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaa5229e893bc3646b53b8547328305441a332ad1eb0ad2f1a4486ad0f4b4478f3c">PIN_ERR_NONFATAL</a>
<br />
}</td></tr>
<tr class="separator:gaa5229e893bc3646b53b8547328305441"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeda9680c6d7a2340a2fd22ab6302b2b9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ERROR__FILE__BASIC.html#gaeda9680c6d7a2340a2fd22ab6302b2b9">PIN_ERRTYPE</a> { <br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ae23249419158a25051069ad451c6b6c3">PIN_ERR_NONE</a> = 0,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9afc15c2e29db256ad8f4e0b64bb5e9c32">PIN_ERR_INTERNAL</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a592e8b0bba9097f7ac303101a570ad64">PIN_ERR_ASSERT</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a4a1c3ea337917024efd0ee448e70dde8">PIN_ERR_TOOL</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a92abab72b33b6190ff2461166762bfef">PIN_ERR_CMD_LINE</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ab13744c77fbe5c2edadbf55d83383c6c">PIN_ERR_PARSING</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9adc823fa50f0f1af2d5f56310744a3415">PIN_ERR_NO_APP</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a8a715088f5cc09212bacf749906c8691">PIN_ERR_INVALID_PLOAD</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9adeddad4145c2f41bfc268a079a958c8b">PIN_ERR_FILE_NOT_FOUND</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a610cb5bc944d945894a0cfb95a08ddbc">PIN_ERR_ELF_HEADER</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9af052e4217f8ee6fa7b12c9d9e3cb92a9">PIN_ERR_NO_PIE</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a16fdde4caf057cbf682393633ed02fce">PIN_ERR_NO_ENTRY_OFFSET</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a5a7606316343e42702dafe8160c7c1cf">PIN_ERR_INVALID_ADDRESS</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9afe8d264b96aed6f5f270603aa978977e">PIN_ERR_INVALID_ADDRESS_RANGE</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a67dbe3b3bcfe808f0da46822f217d232">PIN_ERR_CANNOT_LOAD_TOOL</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ae61b4363c81410f881294dfde1ef7ab5">PIN_ERR_PIN_INJECTION</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9aa35c09c1e77601bddbadefaf954af7fc">PIN_ERR_WAIT_FOR_INJECTOR</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9abaf114893bba734cb889887dafe05dbf">PIN_ERR_BAD_OS_FILE</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a6544853c7cbcbc37adbafee819cb508b">PIN_ERR_UNSUPPORTED_OS</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a2ecdad35ad2265a3c080656dad2683e2">PIN_ERR_BIN32</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9aba5c2b23d6d7b7ced8ba8bbf63cf36db">PIN_ERR_BIN64</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a52a139ca1256f4d394d3a99605ed268e">PIN_ERR_CANNOT_RUN</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a0b1450bdd2c0669f82dd077d6fdbc916">PIN_ERR_ATTACH_PID</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a06fb114c64ee8b6e0ea0925da63c290e">PIN_ERR_ATTACH_NYI</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a96fb2bd21e6266b43ac3993c42289c61">PIN_ERR_ATTACH_REJECTED</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ab75b40709d0351b9612b69c7663d1af4">PIN_ERR_ATTACH_PTRACE_SCOPE_1</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a9edc8f11e078b58222de1d244f688e91">PIN_ERR_DETACH_PID</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a5ce293f912d0a0eda6ae7b2a7f953b61">PIN_ERR_WAIT_PID</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a91aff46b1629b329f0b1f9e4aa689a57">PIN_ERR_STEP_PID</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a9fab7dc21e403a57c9997df99e821b7e">PIN_ERR_WAIT_EXECV</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9aa8698cd0773309ddac50d3921b9f18df">PIN_ERR_APP_RESUME</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a55674b832d172a6a8bc10b49cbe3d8be">PIN_ERR_NO_INSTRUMENT</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a45967f15d3f5919a4b2f497b313cc562">PIN_ERR_CHILD_PTRACEME</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ae748d8c383349278a02edb6d3a68dfc1">PIN_ERR_CHILD_RESUME</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ad0c8f9cee6534da5ac96662547cc43a5">PIN_ERR_RELINK_APP</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ac46a5e724123ff99f19c3e1a581fc41e">PIN_ERR_KNOB_BAD</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a21da2aed13d9167142bdf21c56b4e99a">PIN_ERR_NO_RELOCS</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a6acecc9e658a0e4d5c0d26dc556c2e88">PIN_ERR_VERSION_SKEW</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a4c5af8376d0eb40f64db4ab9f463b435">PIN_ERR_MS_DOS</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ac793921c2029fa5d2437878be3894228">PIN_ERR_LONG_PATH</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a0ae80730059694b1cc007a510800de97">PIN_ERR_CANNOT_EXECUTE_FILE</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a994641a9abb61417ad5a730ee618e68f">PIN_ERR_BLOCKSIG_TOOL</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ab78980c79b13566746eabd360151baf1">PIN_ERR_BLOCKSIG_APP</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a3779de30efc0bee87af0cc890d20b6cc">PIN_ERR_USER_SPECIFIED_ERROR</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a74b6a9f15ca21ea3c84af2351835070f">PIN_ERR_OUT_OF_MEMORY</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ad3e380a7571184491635179c23b7f18d">PIN_ERR_NON_NUMERIC_STRING</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9ae6fc3ab3e413a42513102c7fb4576d2d">PIN_ERR_EMPTY_STRING</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9abc6df52a43b9ee09f291553f97a4c251">PIN_ERR_NUMERIC_FROM_STRING</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a4266359bfd512877e1e75c3700c938d7">PIN_ERR_ALREADY_ATTACHED</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a8ebce9e36630cad63bd6f2e2cd745e0e">PIN_ERR_ILLEGAL_EXCEPTION</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a138c502e9a3dc3f0ba50d6af0640f776">PIN_ERR_EXCEPTION_NEEDS_ADDR</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9aae0e29610a94cea1c002e0de8cfdb347">PIN_ERR_PREDEFINED_INSTRUMENTATION_FAILED</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a61004f9bbe8b2d4bd311d9191999265e">PIN_ERR_UNSUPPORTED_SYSCALL</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a6b25fe1319bc6896443240c694d3142a">PIN_ERR_ACCESS_DENIED</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9a36f3267067ed9c2f8731c573acb1e760">PIN_ERR_INVALID_SUSPEND_REQUEST</a>,
<br />
&#160;&#160;<a class="el" href="group__ERROR__FILE__BASIC.html#ggaeda9680c6d7a2340a2fd22ab6302b2b9acc9d693926bba8acb4a03336284176b3">PIN_ERR_DEBUGGER</a>,
<br />
&#160;&#160;<b>PIN_ERR_LAST</b>
<br />
}</td></tr>
<tr class="separator:gaeda9680c6d7a2340a2fd22ab6302b2b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga84c94bd764e6504ea991d147476376eb"><td class="memItemLeft" align="right" valign="top">VOID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ERROR__FILE__BASIC.html#ga84c94bd764e6504ea991d147476376eb">LEVEL_PINCLIENT::PIN_WriteErrorMessage</a> (const char *msg, INT32 type, <a class="el" href="group__ERROR__FILE__BASIC.html#gaa5229e893bc3646b53b8547328305441">PIN_ERR_SEVERITY_TYPE</a> severity, INT32 num,...)</td></tr>
<tr class="separator:ga84c94bd764e6504ea991d147476376eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Pin errors are normally printed to the screen. Some tools prefer to take the Pin errors and create their own error message. This is important if your tool has a particular look and feel. Pin provides the -error_file option, which generates a machine-parsable error code, and supresses error being emitted to the screen.</p>
<p>The PIN_ERRTYPEs are the errors that Pin can report. The PIN_ERRTYPEs are defined in $PIN_HOME/source/include/pin-errtype.h. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gaa5229e893bc3646b53b8547328305441"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa5229e893bc3646b53b8547328305441">&#9670;&nbsp;</a></span>PIN_ERR_SEVERITY_TYPE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__ERROR__FILE__BASIC.html#gaa5229e893bc3646b53b8547328305441">PIN_ERR_SEVERITY_TYPE</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This file defines the Pin error types. They are used in conjunction with the Pin -error_file option.</p>
<p>Severity used by <a class="el" href="group__ERROR__FILE__BASIC.html#ga84c94bd764e6504ea991d147476376eb">PIN_WriteErrorMessage()</a> </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaa5229e893bc3646b53b8547328305441a3a9ed010756ea9f06b34211f6c66fba5"></a>PIN_ERR_FATAL&#160;</td><td class="fielddoc"><p>fatal error, Pin exits after printing message. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa5229e893bc3646b53b8547328305441a332ad1eb0ad2f1a4486ad0f4b4478f3c"></a>PIN_ERR_NONFATAL&#160;</td><td class="fielddoc"><p>non-fatal error </p>
</td></tr>
</table>
</div>
</div>
<a id="gaeda9680c6d7a2340a2fd22ab6302b2b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeda9680c6d7a2340a2fd22ab6302b2b9">&#9670;&nbsp;</a></span>PIN_ERRTYPE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__ERROR__FILE__BASIC.html#gaeda9680c6d7a2340a2fd22ab6302b2b9">PIN_ERRTYPE</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Client level errors reported by Pin. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ae23249419158a25051069ad451c6b6c3"></a>PIN_ERR_NONE&#160;</td><td class="fielddoc"><p>0 args. no error. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9afc15c2e29db256ad8f4e0b64bb5e9c32"></a>PIN_ERR_INTERNAL&#160;</td><td class="fielddoc"><p>0 args. internal pin error has occurred. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a592e8b0bba9097f7ac303101a570ad64"></a>PIN_ERR_ASSERT&#160;</td><td class="fielddoc"><p>0 args. internal pin assertion has occurred. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a4a1c3ea337917024efd0ee448e70dde8"></a>PIN_ERR_TOOL&#160;</td><td class="fielddoc"><p>0 args. tool error has been detected. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a92abab72b33b6190ff2461166762bfef"></a>PIN_ERR_CMD_LINE&#160;</td><td class="fielddoc"><p>0 args. tool arguments are incorrect. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ab13744c77fbe5c2edadbf55d83383c6c"></a>PIN_ERR_PARSING&#160;</td><td class="fielddoc"><p>0 args. command line arguments are incorrect. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9adc823fa50f0f1af2d5f56310744a3415"></a>PIN_ERR_NO_APP&#160;</td><td class="fielddoc"><p>0 args. missing application name. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a8a715088f5cc09212bacf749906c8691"></a>PIN_ERR_INVALID_PLOAD&#160;</td><td class="fielddoc"><p>0 args. invalid pload argument. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9adeddad4145c2f41bfc268a079a958c8b"></a>PIN_ERR_FILE_NOT_FOUND&#160;</td><td class="fielddoc"><p>1 arg: file name. error in application file name or path. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a610cb5bc944d945894a0cfb95a08ddbc"></a>PIN_ERR_ELF_HEADER&#160;</td><td class="fielddoc"><p>1 arg: file name. unable to read elf header of "filename". </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9af052e4217f8ee6fa7b12c9d9e3cb92a9"></a>PIN_ERR_NO_PIE&#160;</td><td class="fielddoc"><p>1 arg: file name. pie binaries not supported on this system. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a16fdde4caf057cbf682393633ed02fce"></a>PIN_ERR_NO_ENTRY_OFFSET&#160;</td><td class="fielddoc"><p>1 arg: file name. no entry in aux vector. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a5a7606316343e42702dafe8160c7c1cf"></a>PIN_ERR_INVALID_ADDRESS&#160;</td><td class="fielddoc"><p>1 arg: address. "address" is invalid. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9afe8d264b96aed6f5f270603aa978977e"></a>PIN_ERR_INVALID_ADDRESS_RANGE&#160;</td><td class="fielddoc"><p>2 args: low address, high address. address range is invalid. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a67dbe3b3bcfe808f0da46822f217d232"></a>PIN_ERR_CANNOT_LOAD_TOOL&#160;</td><td class="fielddoc"><p>1 arg: tool name. pin cannot load "tool". </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ae61b4363c81410f881294dfde1ef7ab5"></a>PIN_ERR_PIN_INJECTION&#160;</td><td class="fielddoc"><p>0 arg: can't inject pin in running process. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9aa35c09c1e77601bddbadefaf954af7fc"></a>PIN_ERR_WAIT_FOR_INJECTOR&#160;</td><td class="fielddoc"><p>2 args: pid, errno. injector "pid" failed to exit. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9abaf114893bba734cb889887dafe05dbf"></a>PIN_ERR_BAD_OS_FILE&#160;</td><td class="fielddoc"><p>0 args. cannot determine os release. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a6544853c7cbcbc37adbafee819cb508b"></a>PIN_ERR_UNSUPPORTED_OS&#160;</td><td class="fielddoc"><p>0 args. unsupported os. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a2ecdad35ad2265a3c080656dad2683e2"></a>PIN_ERR_BIN32&#160;</td><td class="fielddoc"><p>0 args. 32-bit binary detected. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9aba5c2b23d6d7b7ced8ba8bbf63cf36db"></a>PIN_ERR_BIN64&#160;</td><td class="fielddoc"><p>0 args. 64-bit binary detected. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a52a139ca1256f4d394d3a99605ed268e"></a>PIN_ERR_CANNOT_RUN&#160;</td><td class="fielddoc"><p>1 arg: errno. error in running pin. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a0b1450bdd2c0669f82dd077d6fdbc916"></a>PIN_ERR_ATTACH_PID&#160;</td><td class="fielddoc"><p>2 arg: pid, errno. attach to "pid" failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a06fb114c64ee8b6e0ea0925da63c290e"></a>PIN_ERR_ATTACH_NYI&#160;</td><td class="fielddoc"><p>0 arg: attach to running process is NYI for Pin/Windows in JIT mode. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a96fb2bd21e6266b43ac3993c42289c61"></a>PIN_ERR_ATTACH_REJECTED&#160;</td><td class="fielddoc"><p>0 arg: ptrace attach rejected. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ab75b40709d0351b9612b69c7663d1af4"></a>PIN_ERR_ATTACH_PTRACE_SCOPE_1&#160;</td><td class="fielddoc"><p>1 arg: pid, ptrace attach rejected due to sysctl kernel.yama.ptrace_scope. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a9edc8f11e078b58222de1d244f688e91"></a>PIN_ERR_DETACH_PID&#160;</td><td class="fielddoc"><p>2 arg: pid, errno. detach failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a5ce293f912d0a0eda6ae7b2a7f953b61"></a>PIN_ERR_WAIT_PID&#160;</td><td class="fielddoc"><p>2 arg: pid, errno. wait for child failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a91aff46b1629b329f0b1f9e4aa689a57"></a>PIN_ERR_STEP_PID&#160;</td><td class="fielddoc"><p>2 arg: pid, errno. single step failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a9fab7dc21e403a57c9997df99e821b7e"></a>PIN_ERR_WAIT_EXECV&#160;</td><td class="fielddoc"><p>1 arg: errno. wait after execv failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9aa8698cd0773309ddac50d3921b9f18df"></a>PIN_ERR_APP_RESUME&#160;</td><td class="fielddoc"><p>1 arg: errno. resuming application failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a55674b832d172a6a8bc10b49cbe3d8be"></a>PIN_ERR_NO_INSTRUMENT&#160;</td><td class="fielddoc"><p>2 args: file name, errno. could not instrument process. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a45967f15d3f5919a4b2f497b313cc562"></a>PIN_ERR_CHILD_PTRACEME&#160;</td><td class="fielddoc"><p>1 arg: errno. parent cannot trace the child. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ae748d8c383349278a02edb6d3a68dfc1"></a>PIN_ERR_CHILD_RESUME&#160;</td><td class="fielddoc"><p>1 arg: errno. resuming child failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ad0c8f9cee6534da5ac96662547cc43a5"></a>PIN_ERR_RELINK_APP&#160;</td><td class="fielddoc"><p>0 args: application address overlaps with pin, relink. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ac46a5e724123ff99f19c3e1a581fc41e"></a>PIN_ERR_KNOB_BAD&#160;</td><td class="fielddoc"><p>1 arg: knob. unknown "knob" on command line. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a21da2aed13d9167142bdf21c56b4e99a"></a>PIN_ERR_NO_RELOCS&#160;</td><td class="fielddoc"><p>0 args. regular relocations not found, relink with -q. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a6acecc9e658a0e4d5c0d26dc556c2e88"></a>PIN_ERR_VERSION_SKEW&#160;</td><td class="fielddoc"><p>0 args. pintool version does not match pin version. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a4c5af8376d0eb40f64db4ab9f463b435"></a>PIN_ERR_MS_DOS&#160;</td><td class="fielddoc"><p>0 args. ms-dos &amp; win16 application are not supported. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ac793921c2029fa5d2437878be3894228"></a>PIN_ERR_LONG_PATH&#160;</td><td class="fielddoc"><p>0 args. fully qualified pathname of pin executable is too long. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a0ae80730059694b1cc007a510800de97"></a>PIN_ERR_CANNOT_EXECUTE_FILE&#160;</td><td class="fielddoc"><p>1 arg: filename. cannot execute application. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a994641a9abb61417ad5a730ee618e68f"></a>PIN_ERR_BLOCKSIG_TOOL&#160;</td><td class="fielddoc"><p>1 arg: signal number. Tool intercepted signal and forwarded while application had it blocked. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ab78980c79b13566746eabd360151baf1"></a>PIN_ERR_BLOCKSIG_APP&#160;</td><td class="fielddoc"><p>1 arg: signal number. Application received asynchronous blocked signal, which can't be emulated. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a3779de30efc0bee87af0cc890d20b6cc"></a>PIN_ERR_USER_SPECIFIED_ERROR&#160;</td><td class="fielddoc"><p>reserved. internal use only </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a74b6a9f15ca21ea3c84af2351835070f"></a>PIN_ERR_OUT_OF_MEMORY&#160;</td><td class="fielddoc"><p>0 args. Pin is out of memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ad3e380a7571184491635179c23b7f18d"></a>PIN_ERR_NON_NUMERIC_STRING&#160;</td><td class="fielddoc"><p>1 arg: string. Non-numeric string passed to conversion utility. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9ae6fc3ab3e413a42513102c7fb4576d2d"></a>PIN_ERR_EMPTY_STRING&#160;</td><td class="fielddoc"><p>0 args. Empty string passed to conversion utility. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9abc6df52a43b9ee09f291553f97a4c251"></a>PIN_ERR_NUMERIC_FROM_STRING&#160;</td><td class="fielddoc"><p>1 arg: string. Error in numeric to string conversion utility. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a4266359bfd512877e1e75c3700c938d7"></a>PIN_ERR_ALREADY_ATTACHED&#160;</td><td class="fielddoc"><p>0 args. Pin is already attached to the process. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a8ebce9e36630cad63bd6f2e2cd745e0e"></a>PIN_ERR_ILLEGAL_EXCEPTION&#160;</td><td class="fielddoc"><p>1 arg: string. Tool raised invalid exception. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a138c502e9a3dc3f0ba50d6af0640f776"></a>PIN_ERR_EXCEPTION_NEEDS_ADDR&#160;</td><td class="fielddoc"><p>1 arg: string. Must specify access address for exception. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9aae0e29610a94cea1c002e0de8cfdb347"></a>PIN_ERR_PREDEFINED_INSTRUMENTATION_FAILED&#160;</td><td class="fielddoc"><p>1 arg: string. Specified function can not be instrumented </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a61004f9bbe8b2d4bd311d9191999265e"></a>PIN_ERR_UNSUPPORTED_SYSCALL&#160;</td><td class="fielddoc"><p>1 arg: string. System call is not supported by Pin </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a6b25fe1319bc6896443240c694d3142a"></a>PIN_ERR_ACCESS_DENIED&#160;</td><td class="fielddoc"><p>0 args. File access denied due to bad permissions </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9a36f3267067ed9c2f8731c573acb1e760"></a>PIN_ERR_INVALID_SUSPEND_REQUEST&#160;</td><td class="fielddoc"><p>0 args. Attempting to suspend an internal thread </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaeda9680c6d7a2340a2fd22ab6302b2b9acc9d693926bba8acb4a03336284176b3"></a>PIN_ERR_DEBUGGER&#160;</td><td class="fielddoc"><p>0 args. Error related to debugger </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga84c94bd764e6504ea991d147476376eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga84c94bd764e6504ea991d147476376eb">&#9670;&nbsp;</a></span>PIN_WriteErrorMessage()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">VOID LEVEL_PINCLIENT::PIN_WriteErrorMessage </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>msg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">INT32&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ERROR__FILE__BASIC.html#gaa5229e893bc3646b53b8547328305441">PIN_ERR_SEVERITY_TYPE</a>&#160;</td>
<td class="paramname"><em>severity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">INT32&#160;</td>
<td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Writes the given error message to the Pin error file. The error file name is specified using the -error_file switch.</p>
<p>This API allows tool writer to write a tool-specified error message to the Pin error file. Pin reserves the error type enums from 0-999. Pin will exit after printing a fatal message.<br />
This function can be used in any thread, including any internal thread spawned by the tool.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>a description of the error </td></tr>
<tr><td class="paramname">type</td><td>an enum associated with the error. type &gt;= 1000. </td></tr>
<tr><td class="paramname">severity</td><td>0=fatal, 1=non-fatal. </td></tr>
<tr><td class="paramname">num</td><td>number of arguments following this parameter </td></tr>
<tr><td class="paramname">...</td><td>arguments. must be of type "char *".</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT, Probe<br />
<b>O/S</b>: Linux, Windows<br />
<b>CPU:</b> All.<br />
</dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>