Dtruss пропускает звонки?

проблема

Я пытаюсь диагностировать проблему при запуске приложения с использованием JCEF на Mac, и кажется, что dtruss отсутствует системные вызовы от его следа. Например, программа всегда закрывается после сбоя при поиске 'icudtl.dat' и выводит сообщение журнала, например так:

[0309/151839:ERROR:icu_util.cc(144)] icudtl.dat not found in bundle

Однако только иногда я вижу соответствующий вызов записи в трассировке dtruss. И мне так и не удалось запечатлеть его в поисках icudtl.dat. Может ли dtruss пропустить звонки? И если так, как я могу это исправить?

подробности

Запуск dtruss как это:

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" вообще. Многие другие операции ввода-вывода файла фиксируются, хотя.

0 ответов

Другие вопросы по тегам