<div id="cnblogs_post_body" class="blogpost-body cnblogs-markdown"> <div id="content_views" class="markdown_views"> <!-- flowchart 箭頭圖標 勿刪 --> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p>運行Java程序的時候,報錯:EXCEPTION_ACCESS_VIOLATION (0xc0000005); <br> <img src="https://img2018.cnblogs.com/blog/1112483/201910/1112483-20191010130820206-1093819818.png" alt="這裏寫圖片描述" title=""></p>html
<p>根據<a href="https://www.javamex.com/how_to_fix.html" rel="nofollow" target="_blank" data-token="853548a325245960fde590a39cd4e344">原網頁</a>的說明: <br> <img src="https://img2018.cnblogs.com/blog/1112483/201910/1112483-20191010130837779-684740286.png" alt="這裏寫圖片描述" title=""></p>java
<pre class="prettyprint" name="code"><code class="hljs applescript has-numbering vhdl" onclick="mdcp.signin(event)" style="position: unset;">EXCEPTION_ACCESS_VIOLATION <span class="hljs-keyword">In</span> rare circumstances, a Java program could stop <span class="hljs-keyword"><span class="hljs-keyword">with</span></span> a message similar <span class="hljs-keyword"><span class="hljs-keyword">to</span></span> <span class="hljs-keyword">the</span> following: An unexpected <span class="hljs-keyword"><span class="hljs-literal">error</span></span> has been detected <span class="hljs-keyword">by</span> HotSpot Virtual Machine: EXCEPTION_ACCESS_VIOLATION (<span class="hljs-number"><span class="hljs-number">0</span>xc0000005</span>) <span class="hljs-keyword">at</span> pc=<span class="hljs-number"><span class="hljs-number">0</span>x7c042340</span>, pid=<span class="hljs-number"><span class="hljs-number">1743</span></span>, tid=<span class="hljs-number"><span class="hljs-number">122</span></span> Java VM: Java HotSpot(TM) Client VM (<span class="hljs-number"><span class="hljs-number">1.5</span></span><span class="hljs-number">.<span class="hljs-number">4</span></span><span class="hljs-number">_02</span>) Problematic frame: C [ntdll.dll+<span class="hljs-number"><span class="hljs-number">0</span>x2430</span>] Essentially, Java will stop <span class="hljs-keyword"><span class="hljs-keyword">with</span></span> a message such <span class="hljs-keyword">as</span> <span class="hljs-keyword">the</span> <span class="hljs-keyword">above</span> <span class="hljs-keyword"><span class="hljs-keyword">if</span></span> a <span class="hljs-string"><span class="hljs-string">"serious"</span></span> <span class="hljs-keyword"><span class="hljs-literal">error</span></span> occurs <span class="hljs-keyword">that</span> means <span class="hljs-keyword">the</span> JVM can<span class="hljs-symbol">'t</span> <span class="hljs-keyword">continue</span> <span class="hljs-keyword"><span class="hljs-keyword">to</span></span> <span class="hljs-keyword">function</span>. Usually, <span class="hljs-keyword">the</span> most discriminating <span class="hljs-literal">line</span> <span class="hljs-keyword"><span class="hljs-keyword">is</span></span> <span class="hljs-keyword">the</span> <span class="hljs-keyword">first</span> mention <span class="hljs-keyword"><span class="hljs-keyword">of</span></span> a DLL, such <span class="hljs-keyword">as</span> <span class="hljs-keyword">the</span> <span class="hljs-literal">line</span> <span class="hljs-keyword"><span class="hljs-keyword">in</span></span> bold <span class="hljs-keyword">above</span>. The source <span class="hljs-keyword"><span class="hljs-keyword">of</span></span> <span class="hljs-keyword">the</span> <span class="hljs-keyword"><span class="hljs-literal">error</span></span> could be any <span class="hljs-keyword"><span class="hljs-keyword">of</span></span> <span class="hljs-keyword">the</span> following: <span class="hljs-number"><span class="hljs-number">1</span>.</span> a bug <span class="hljs-keyword"><span class="hljs-keyword">in</span></span> <span class="hljs-keyword">the</span> JVM itself; search Google <span class="hljs-keyword"><span class="hljs-keyword">and</span></span>/<span class="hljs-keyword"><span class="hljs-keyword">or</span></span> <span class="hljs-keyword">the</span> Java web site <span class="hljs-keyword"><span class="hljs-keyword">for</span></span> a mention <span class="hljs-keyword"><span class="hljs-keyword">of</span></span> ntdll.dll+<span class="hljs-number"><span class="hljs-number">0</span>x2430</span>; <span class="hljs-number"><span class="hljs-number">2</span>.</span> a bug <span class="hljs-keyword"><span class="hljs-keyword">in</span></span> <span class="hljs-keyword">some</span> non-Java code <span class="hljs-keyword">that</span> was being <span class="hljs-command">run</span> <span class="hljs-keyword">at</span> <span class="hljs-keyword">the</span> <span class="hljs-property"><span class="hljs-built_in">time</span></span>: e.g. Java might have been calling <span class="hljs-keyword">into</span> a printer driver, graphics driver etc. <span class="hljs-keyword">If</span> you<span class="hljs-symbol">'re</span> <span class="hljs-keyword"><span class="hljs-keyword">not</span></span> sure what <span class="hljs-keyword"><span class="hljs-keyword">to</span></span> do <span class="hljs-keyword">but</span> are <span class="hljs-keyword"><span class="hljs-keyword">not</span></span> using <span class="hljs-keyword">the</span> latest <span class="hljs-property">version</span> <span class="hljs-keyword"><span class="hljs-keyword">of</span></span> <span class="hljs-keyword">the</span> JVM <span class="hljs-keyword"><span class="hljs-keyword">for</span></span> your system, <span class="hljs-keyword"><span class="hljs-keyword">then</span></span> a good <span class="hljs-keyword">first</span> course <span class="hljs-keyword"><span class="hljs-keyword">of</span></span> action <span class="hljs-keyword"><span class="hljs-keyword">is</span></span> usually <span class="hljs-keyword"><span class="hljs-keyword">to</span></span> upgrade your JVM. <span class="hljs-keyword">If</span> <span class="hljs-keyword">the</span> bug <span class="hljs-keyword"><span class="hljs-keyword">is</span></span> <span class="hljs-keyword"><span class="hljs-keyword">in</span></span> <span class="hljs-keyword">some</span> other DLL, e.g. a printer driver, database driver, graphics driver etc, <span class="hljs-keyword"><span class="hljs-keyword">then</span></span> <span class="hljs-keyword">it</span> <span class="hljs-keyword"><span class="hljs-keyword">is</span></span> best <span class="hljs-keyword"><span class="hljs-keyword">to</span></span> see <span class="hljs-keyword"><span class="hljs-keyword">if</span></span> you can upgrade <span class="hljs-keyword">the</span> <span class="hljs-keyword">component</span> <span class="hljs-keyword"><span class="hljs-keyword">in</span></span> question. <span class="hljs-keyword">If</span> <span class="hljs-keyword">the</span> <span class="hljs-keyword"><span class="hljs-literal">error</span></span> <span class="hljs-keyword"><span class="hljs-keyword">is</span></span> occurring <span class="hljs-keyword"><span class="hljs-keyword">in</span></span> <span class="hljs-keyword">some</span> native code <span class="hljs-keyword">that</span> you have written, <span class="hljs-keyword"><span class="hljs-keyword">then</span></span> you need <span class="hljs-keyword"><span class="hljs-keyword">to</span></span> find <span class="hljs-keyword">out</span> which <span class="hljs-literal">line</span> <span class="hljs-keyword"><span class="hljs-keyword">of</span></span> code corresponds <span class="hljs-keyword"><span class="hljs-keyword">to</span></span> <span class="hljs-keyword">the</span> <span class="hljs-command">offset</span> mentioned (<span class="hljs-keyword"><span class="hljs-keyword">in</span></span> this <span class="hljs-keyword">case</span>, <span class="hljs-number"><span class="hljs-number">0</span>x2430</span>, although <span class="hljs-keyword">the</span> DLL <span class="hljs-keyword">isn<span class="hljs-symbol">'t</span></span> one <span class="hljs-keyword"><span class="hljs-keyword">of</span></span> ours <span class="hljs-keyword"><span class="hljs-keyword">in</span></span> this example). Usually you can <span class="hljs-keyword">tell</span> your compiler <span class="hljs-keyword"><span class="hljs-keyword">to</span></span> <span class="hljs-keyword">generate</span> a <span class="hljs-string"><span class="hljs-string">"map </span></span><div class="hljs-button signin" data-title="登陸後複製"></div></code></pre>web
<p>這裏可能的緣由有: <br> 1. a bug in the JVM itself; search Google and/or the Java web site for <br> a mention of ntdll.dll+0x2430; <br> 一個JVM自身的bug,訪問谷歌或者Java網站尋求(根據 ntdll.dll+0x2430這個信息) <br> 2. a bug in some non-Java code that was being run at the time: e.g. <br> Java might have been calling into a printer driver, graphics driver <br> etc. <br> 一個正在運行的非Java代碼的某個bug,可能致使調用了打印驅動器,好比這個圖形驅動器等;</p>markdown
<p>這裏,個人建議是: <br> 一、多是端口號衝突,關閉沒必要要的其它Java程序; <br> 二、同一個Java程序,可能內部會設置某個功能爲自動啓動(會擠掉你如今用的這個Java程序),若是有暫停按鈕,先暫停同一個Java程序中的那個功能(不影響的狀況下),先跑本身這部分的功能,等本身這部分功能跑完了,再啓動其它的功能;</p>app
<p>相關資料:</p> <p>(1)JNA: EXCEPTION_ACCESS_VIOLATION:https://stackoverflow.com/questions/29538130/jna-exception-access-violation</p>svg
原文地址:https://blog.csdn.net/river_continent/article/details/78891674 </div>
</div>post