2011-04-13 78 views
0

我在widows服務器2008 r2機器上設置了我的開發環境。問題是,無論何時在會話0中運行的進程崩潰,我都不會收到通知。沒有Windows錯誤報告,沒有Visual Studio jit調試提示。如果常規應用程序崩潰,那麼我得到jit調試彈出窗口,並且能夠將調試器附加到正確的位置。可能會發生什麼?JIT調試彈出窗口不會在會話0中運行進程

回答

1

在W2K8會話0服務運行沒有用戶界面(非交互式)。因此,你永遠不會彈出一個窗口。解決這個問題的方法之一是將您的AEDebug regkey設置爲通過遠程調試附加ntsd或cdb,如ntsd.exe -server tcp:port=50000:54999 -p %ld -e %ld -g -noio。然後,當某些事件崩潰時,您會看到ntsd.exe進程在taskmgr中運行,您可以附加到它(您需要使用cdb並查詢打開哪些端口進行調試)。這可以很容易地包裝在某種守護進程或服務中,這些守護進程或服務不斷監視新的調試會話並自動爲您彈出cdb。

然後,您可以擴展此模式以啓動任意日誌記錄進程而不是ntsd。只要確保該流程使用正確的權限運行並且沒有UI。