最近除錯某個.h裡的inline函式時,偵錯程式的當前除錯行,和實際**功能總是不符(用彙編視窗可以清楚的看到),正好差兩行
這個問題還以為是大檔案特有的,這個.h有一千多行
其實這個問題已經存在幾個月了,今天實在忍不住,寫了個簡單的test函式到處插入,最終定位到乙個函式有問題
template
static bool get(lua_state* l, luatype*, int index, t& value)
return ok;
}本以為是裡面的行末注釋有問題,刪了注釋發現還不行,所以就想看看這段函式的編碼有沒有問題,用ultraedit開啟,想找那個隱藏字元顯示的功能一時沒找到
換editplus,還是一時沒找到,但是此時突然發現兩個編輯器的行號不對應,再仔細一看,發現editplus裡有幾個行居然沒換行顯示在同一行裡了!而ultraedit是換行的
在editplus裡重新把這個函式換行好,回到vs再除錯再也沒有原始碼除錯錯位問題了!
看來問題就在於偵錯程式或者說鏈結器對文字的解析,跟vs editor的解析,還是稍微有一點差距的
vs2013除錯執行行錯位問題
使用vs2013除錯乙個專案,當前指示執行行與編譯器實際執行行不一致,看著很痛苦,重新編譯,刪掉所有相關檔案重新編譯都解決不了問題,格式化文件也解決不了,真是到了山窮水盡的地步了,最後參考網上各種相關問題的解決辦法,終於有乙個解決問題了,說了這麼多,切入正題,下邊說說是怎麼解決的吧。將 錯位的文件用...
VS2013編譯python原始碼
系統 win10 手頭有個python模組,是用c寫的,想編譯安裝就需要讓python呼叫c編譯器。直接編譯發現使用的是vc9編譯,不支援c99標準 兩個槽點 為啥vs2008都還不支援c99?手頭這個c 為啥不好好寫?anyway,此時兩個想法,乙個是改c原始碼,另乙個是自行用vs2013編譯乙個...
VS2013無法除錯問題
1.問題描述 無法找到 exe的除錯資訊,或者除錯資訊不匹配。未使用除錯資訊生成二進位制檔案 2.問題描述 設定斷點但無法除錯 解決方法 屬性 c c 常規 除錯資訊格式 設定為程式資料庫 3.問題描述 主程式可以除錯,呼叫的dll模組不能除錯,提示 當前不會命中斷點還沒有為該文件載入符號 解決方法...