2
나는 자바에서 사용할 수있는 DLL을 썼다. 예상대로 LIB로드되지만 DLL이 기능을 내보내는 것을 알 수 GetDllVersion
에 대한 호출이잘못된 메모리 액세스
Exception in thread "main" java.lang.Error: Invalid memory access
at com.sun.jna.Native.invokeVoid(Native Method)
at com.sun.jna.Function.invoke(Function.java:367)
at com.sun.jna.Function.invoke(Function.java:315)
at com.sun.jna.Library$Handler.invoke(Library.java:212)
at com.sun.proxy.$Proxy0.GetDllVersion(Unknown Source)
at Main.main(Main.java:34)
종속성 워커와 함께 실패합니다.
정확히 어떻게 함수 호출에 문제가 있는지 알아 보는 방법은 무엇입니까?
어쩌면 GetDllVersion은 버퍼가 20 바이트를 초과 할 것으로 예상합니까? – Creris
테스트 목적으로 GetDllVersion 메서드 본문의 모든 내용을 주석 처리했습니다. 그래서 실질적으로이 함수는 아무 것도하지 않습니다 – gorootde
@k_wave - 그래서 DLL 함수를 디버깅하기 위해 디버거를 사용할 방법이 없습니까? DLL을 디버거를 사용하여 디버깅 할 수 있는지, 그리고 어떻게해야 하는지를 알아야합니다. – PaulMcKenzie