You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu 20.04中显示Java程序batfish-tiramisu的完整堆栈跟踪

显示Java程序完整函数调用堆栈(解决Batfish日志"...3 more"截断问题)

在Ubuntu 20.04环境运行batfish-tiramisu时,异常日志末尾出现...3 more,导致无法查看完整的函数调用堆栈,可通过以下方式解决:

方法一:命令行直接添加JVM参数

运行程序时,在Java命令中加入两个关键参数:

  • -XX:-OmitStackTraceInFastThrow:禁用JVM的快速抛出优化(该优化会在重复抛出相同异常时省略部分堆栈信息)
  • -XX:MaxJavaStackTraceDepth=-1:将堆栈跟踪的最大深度设置为无限制(默认值为1024,超出会截断)

示例运行命令:

java -XX:-OmitStackTraceInFastThrow -XX:MaxJavaStackTraceDepth=-1 -jar batfish-tiramisu.jar [你的程序启动参数]

方法二:修改启动脚本参数

如果是通过Batfish的启动脚本运行程序,找到脚本中配置JVM参数的部分,将上述两个参数添加到参数列表中,保存后重新启动程序即可。

补充说明

Java异常日志中的...N more是JVM的默认行为:当异常被多层包装(如Caused by链)时,若某段堆栈帧在之前已经打印过,JVM会用该标记省略重复内容,避免日志冗余。通过上述参数可以强制输出完整的调用堆栈,便于定位问题根源。

内容的提问来源于stack exchange,提问作者ylwdsd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 10:19:56