繁体   English   中英

java和ntdll.dll之间的关系

[英]relationsship between java and ntdll.dll

我有一个Java应用程序(tomcat-app),在后台使用JNI连接到C库。 这个Java应用程序以非常随机的方式崩溃。 我在系统事件中看到该事件是基于ntdll.dll崩溃的,ntdll.dll是Windows / System32中的系统库。

有人可以告诉我ntdll.dll提供什么功能,它的作用是什么,为什么Java需要此ntdll.dll?

我已经使用Google来找到解决方案,但是这种崩溃几乎可以在所有Windows系统上发生,这是许多应用程序的组合(似乎不仅仅是Windows-java问题)。 标准解决方案是重新安装/更新系统和/或应用程序。 但是有一个解释,为什么这个ntdll.dll会造成很多麻烦?

您是否认为,如果我将更高版本的ntdll.dll放入Java目录或c-library目录中,以便Java或c-lib可以采用此较新版本而不是Windows,是否有帮助? / System32下的版本?

非常感谢您的建议。 DD

ntdll是低级Windows系统api,它提供数百种Windows api功能,例如内存管理,加载DLL和系统异常。

您不得使用与系统上不同的版本,因为它与正在运行的Windows操作系统版本紧密耦合/不可分割。

没有更多信息,很难说出问题出在哪里,但是也许您在JNI包装器中使用了错误的调用约定,从而导致堆栈不平衡。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM