#erlang
#erlang
Вопрос:
Я отслеживал с помощью dbg свою систему. Я использовал
dbg:trace_port(file,{"/tmp/trace",wrap,atom_to_list(node()),10000000,20})
теперь у меня есть пара двоичных файлов.
Никогда по-настоящему не использовал эти двоичные дампы.. Как их читать? рб? disk_log? Как запустить их, чтобы увидеть файл журнала?
Ответ №1:
Сначала вы используете trace_port для получения PortFun вот так :
1> PortFun = dbg:trace_port(file,{"/tmp/trace",wrap,atom_to_list(node()),10000000,20}).
Затем используйте dbg: tracer для запуска трассировщика, который будет маршрутизировать сообщения :
2> dbg:tracer(port, PortFun).
Вывод трассировки может быть получен с помощью trace_client :
1> Pid = dbg:trace_client(файл, FileName). .. вывод dbg здесь... .. 2> dbg:stop_trace_client(Pid).
Ответ №2:
Я сам этого не пробовал, но dbg:trace_client/2
похоже, что он может прочитать файл.
Ответ №3:
В дополнение к вышесказанному, вы также можете попробовать et_viewer:file/1, который покажет трассировку в окне, где вы можете просматривать, например, отдельные вызовы, один за другим.
Примечание: Вертикальная прокрутка в этом окне не работала должным образом в моей системе, поэтому я просто скопировал текст и проверил его в редакторе.