Как я делаю дамп потока с МОНО?

Как я могу показать потоки (stacktraces) в зависающем приложении, которые работают с МОНО?

Я знаю, что могу сделать это в.NET с Управляемым проводником стека (MSE). Поскольку приложение зависает только с МОНО, что я должен сделать это с МОНО.

Или существуют какие-либо другие идеи, как я могу найти место зависания?

19
задан Amir 18 January 2016 в 00:17
поделиться

1 ответ

Предполагая, что вы на Linux / Unix, не Windows, отправьте сигнал SIGQUIT в вашу программу. Это можно сделать с помощью

kill -QUIT $PID

, где $ PID - это PID вашей программы. Моно будет давить следы стека всех ниток в Stdout. Обратите внимание, что, хотя процесс остается после этого, вы не должны ожидать, что он останется пригодным для использования / стабильным.

См. http://en.wikipedia.org/wiki/sigquit для некоторого фона.

ПРИМЕЧАНИЕ: Direum Dump не будет , распечатайте в окне терминала, где вы запустили команду Kill . Он появится в СтДерре монопроцесса.

22
ответ дан 30 November 2019 в 04:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: