簡體   English   中英

有沒有辦法在Java中中斷jni C ++斷言並至少為我的Java代碼打印堆棧跟蹤?

[英]Is there a way to interrupt a jni C++ assertion in java and print a stack trace for at least my java code?

我目前正在使用libgdx(java)開發一款游戲,該游戲又使用本機C ++(box2d)庫。 有時我在box2d(C ++庫)中得到一個斷言。 從五分鍾到一個小時不等,直到找到錯誤代碼為止,看到Java代碼的堆棧跟蹤信息就可以更快地定位我的錯誤。

堆棧示例
-我的代碼-
應用程序
Level.java
敵人.java
-Libgdx-
World.java(使用jni-wrapper)
-Box2d-
b2World.cpp
...
b2PolygonShape.cpp

您可能要查看http://www.codeproject.com/Articles/17558/Exception-handling-in-JNI

有很多代碼,但是必須有一個有關如何使用它的教程。 我抓起它來進行快速JNI_ASSERT()。

我使用標准輸出,僅使用該庫的一小部分,但是如果使用完整的庫,它會像下面這樣拋出消息框:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM