我有一個相當大的代碼庫,我已經繼承了,而且我過去暫時陷入困境。我正在使用Windows 7(32位)的Visual C++ 6,但是,我的目標是XP機器(Service Pack 2)。企業沒有看到將其升級到.NET的投資回報率,並且我已經像Mini Cooper一樣牽引火車了。這樣說,我確實在我的Win7機器上成功安裝了VC++ 6(沒有XP兼容性),我可以編譯並運行正常。但是,當我嘗試將我的發佈版本部署到我的XP機器上時,它崩潰(雖然它不會在Win7上崩潰)。但是,如果我直接在XP機器上構建相同的代碼,則它可以正常工作。在XP兼容模式下在我的Win7機器上運行VC++ 6時,打開我的工作區時會崩潰IDE。在Win7上編譯的程序在XP中崩潰(Visual C++ 6)
我唯一能想到的就是該代碼廣泛使用了ActiveX控件和註冊表。我不確定是否可能有一些正在進行的Win7特定註冊表修改,反之亦然。再說一遍,我對註冊表知之甚少。在編寫遊戲時,我更喜歡在Unix環境下工作,特別是當我用C/C++編寫代碼時。
下面是我在崩潰時遇到的錯誤的屏幕截圖。我正在想象它與ActiveX註冊有關。
VC6包含一個遠程調試器。在XP機器上安裝該項目,並在Windows 7 PC上遠程調試項目的調試版本。 –
是的。我必須小心確保人們不要從網絡上拔下工具,但這肯定比去實驗室編寫代碼要好。 但是還有什麼會導致這個問題呢? – audiFanatic
你需要調查當然的崩潰,但是我首先要檢查的是DEP。 http://stackoverflow.com/questions/10596183/migrated-application-crashes-if-dep-is-active + http://stackoverflow.com/questions/350977/how-to-make-my-program-dep-兼容 –