Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java DTRUS是否丢失呼叫? 问题_Java_Macos_Dtruss - Fatal编程技术网

Java DTRUS是否丢失呼叫? 问题

Java DTRUS是否丢失呼叫? 问题,java,macos,dtruss,Java,Macos,Dtruss,我试图诊断在Mac上使用JCEF启动应用程序时出现的问题,dtruss似乎从跟踪中丢失了系统调用。例如,程序总是在查找“icudtl.dat”失败后退出,并打印如下日志消息: [0309/151839:ERROR:icu_util.cc(144)] icudtl.dat not found in bundle sudo dtruss -f ./program.sh 2> /tmp/trace.txt 然而,我只是偶尔在dtruss跟踪中看到相应的写调用。我从来没有在寻找“icudtl.

我试图诊断在Mac上使用JCEF启动应用程序时出现的问题,dtruss似乎从跟踪中丢失了系统调用。例如,程序总是在查找“icudtl.dat”失败后退出,并打印如下日志消息:

[0309/151839:ERROR:icu_util.cc(144)] icudtl.dat not found in bundle
sudo dtruss -f ./program.sh 2> /tmp/trace.txt
然而,我只是偶尔在dtruss跟踪中看到相应的写调用。我从来没有在寻找“icudtl.dat”时捕捉到它。DTRUS是否可能错过呼叫?如果是这样的话,我该如何解决

细节 像这样运行DTRU:

[0309/151839:ERROR:icu_util.cc(144)] icudtl.dat not found in bundle
sudo dtruss -f ./program.sh 2> /tmp/trace.txt
在跟踪中,我看到以下内容:

[0309/151839:ERROR:icu_util.cc(144)] icudtl.dat not found in bundle
[0309/151839:FATAL:content_main_runner.cc(721)] Check failed: base::i18n::InitializeICU(). 
dtrace: 1346 dynamic variable drops with non-empty dirty list
1403/0xd0ba6:  psynch_cvwait(0x7FBB82435768, 0x14990100149A00, 0x149900)                = 0 0
然后,很长一段时间后,写操作实际上被捕获:

1403/0xd0b93:  write_nocancel(0x2, "[0309/151839:ERROR:icu_util.cc(144)] icudtl.dat not found in bundle\n\0", 0x44)             = 68 0
1403/0xd0b93:  open_nocancel("\0", 0x209, 0x1B6)                = -1 Err#2
1403/0xd0b93:  write_nocancel(0x2, "[0309/151839:FATAL:content_main_runner.cc(721)] Check failed: base::i18n::InitializeICU(). \n\0", 0x5C)             = 9

但根本没有提到它试图查找'icudtl.dat'。不过,还捕获了许多其他文件IO操作。

您可以选择打印所有详细信息-a和/或跟踪回溯-s。@l'l'l即使在使用“-asf”运行时,似乎仍然缺少调用。我也尝试过增加缓冲区大小,但这似乎也没有什么不同。也许可以尝试使用pid来代替,或者opensnoop,即sudo opensnoop-ve使用pid没有任何区别。使用opensnoop或iosnoop,它成功地捕获了更多的IO操作,但仍然在我感兴趣的关键点上丢失了一些操作。我尝试将缓冲区大小逐渐设置为1GB,但似乎没有减少任何操作,这似乎很奇怪。