http://blog.csdn.net/treaturebeauty/article/details/1710697(原帖)
detect memory leak!
f:/rtm/vctools/vc7libs/ship/atlmfc/src/mfc/strcore.cpp(141) ......
查看output窗口,程序中不知何時出現了內存泄露的問題。經過一陣排查,發現是由於一個函數在兩個模塊中的字符串參數類型定義不一致引起的。該函數實現在EXE中,參數定義為BSTR,在DLL中進行調用(回調嘍),DLL中將函數原型參數定義為CString。這樣一來編譯器是無法發現問題的。
想必是DLL原本傳了一個CString過去,中途mfc發現需要轉換成BSTR,於是只好苦水往肚里咽,偷偷分配了一塊內存,變成了BSTR,臨了也沒人知道那塊內存要釋放。