Wednesday, March 23, 2011

VC6 在Windows 7 64 bit 下Debug break 後, 所debug 的process 就hang 死的解法

因為Driver 的工作都已經移到 amd64 的工作環境了, 所以開發的OS就直接使用Windows 7 64bit, 測試上也比較容易, 不過AP 大部份還都是用VC6 寫的, 但是在windows 7 64 bit下用VC6 開發最痛苦的就是, 當程式因為某個中斷點break 後, 如果按Shift-F5 離開正在debug的程式時, 這個程式就會hang 住, 用工作管理員也砍不掉

這樣問題就來了, 當你修改完code重新compiler 時, 會無法link成exe, 因為這個exe因為還在執行, 所以是無法寫入的, 然後就得關掉VC6, 這個debug一半的process才會被release, 然後重新開啟VC6 進行compiler , 一整個痛苦

這幾天實在受不了了, 用google了一下, 居然有看到解法, 這個真是感動,

請先確定將VC6 升到SP6, 我已經試過SP5 無法成功, 然後下載這個TLLOC.dll

http://www.dr-hoiby.com/TLLOC.dll

覆蓋原來的 "Common/MSDev98/Bin/TLLOC.dll" 這個檔案, 重開VC6, 就可以解除痛苦了

參考連結

http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/a9914982-ff0f-4981-b1f3-f0c936fec74e


3 comments:

Anonymous said...

此方法的確可解決這個惱人的問題,謝謝分享

543 said...

也許 你也有這問題?
我在 Win7 64 bits (跟Bit似乎無關?)
上面 VC6 compile好的 exec. file
拿到之前的機器 就不能動
不管是用 install 的還是怎樣 都會有錯誤
用 VisualBOX+XP+VC6 compile出來的就直接跑 不用 install (因為之前install過了)

DreamMan said...

之前的機器是多之前, 會不會連MFC4.DLL 都沒有的機器?!