0

コード(一部のみ)はほとんどの場合適切に機能しますが、タスクマネージャーのプロセスが存在しなくても、コードがハングしてtry...catchブロックの後の行が呼び出されない場合があります。

ほとんどの場合、問題はないため、デバッグ中に問題を再現することはできません。なぜ、またはどのような条件でこれが発生するのか、誰かが私にヒントを与えることができますか?

try {
    process.Start();
    process.BeginOutputReadLine();
    process.BeginErrorReadLine();
    process.WaitForExit(settings.PlinkConnectTimeout * 1000);
    if (process != null && !process.HasExited) {
        if (IsConnected) {
            process.WaitForExit();
        }
        else {
            process.Kill();
        }
    }
}
catch { }

IsConnected = false;
IsConnecting = false;
Disconnected(isLastSuccess, isReconnect);
4

0 に答える 0