我面臨的問題是我的應用程序全局變量析構函數沒有被調用。這似乎只在我的應用程序成功連接到Oracle數據庫(使用OCI)時發生。全局變量析構函數未調用,從哪裏開始?
我在CRT中放置了一些斷點,看起來DllMain(或__DllMainCRTStartup)沒有用DLL_PROCESS_DETACH調用,因此沒有調用atexit(),這就解釋了爲什麼我的析構函數沒有被調用。 我不知道爲什麼會發生這種情況。
我意識到這可能不足以說明原因,但我的問題是:尋找這個問題的原因會是一個好的開始?
這是我已經嘗試過的事情的清單:
- 搜索網的解決方案
- 連接調試器,使本地的例外,看看有沒有隱藏的崩潰,我有時會去得到一個異常.Net框架,但應用程序似乎繼續。
- 嘗試在一個小應用程序重現,沒有成功
已經嘗試過,但感謝您的建議 – eli 2010-08-16 14:00:30