2014-10-30 轉載請注明出處:http://daodaoliang.com/
##環境說明
QtCreator | QtLibrary | 編譯器 |
---|---|---|
Qt Creator 2.7.0 | 4.8.4-msvc | msvc9.0(VS2008) |
##背景說明
項目中需要對發布版本追蹤崩潰問題,我們在項目中利用Qtbreakpoint來產生崩潰文件
*.dump
文件,但是若是想要對應的定位崩潰點還需要對應的*.pdb
文件,但是在Qt
的Release版本下默認是不產生*.pdb
文件
##如何配置
- 方案1 修改編譯環境,對所有項目的release都產生
*.pdb
文件,步驟如下: -
- 找到編譯器對應的配置文件,如我的系統安裝的是VS2008則我需要找Qt的安裝目錄/4.8.4/\mkspecs\win32-msvc2008\qmake.conf
-
- 增加如下兩行配置項到文件並保存
sh QMAKE_CFLAGS_RELEASE = -O2 -MD -Zi QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
- 保存后重啟Qtcreator或者直接重新新編譯
-
缺陷是編譯后的PDB文件不能自己修改名字和拷貝到二進制所在的目錄
- 方案2 修改程序的工程文件
*.pro
,增加如下: *
sh QMAKE_LFLAGS_RELEASE += /MAP QMAKE_CFLAGS_RELEASE += /Zi QMAKE_LFLAGS_RELEASE += /debug /opt:ref
* 建議使用此種方式
http://daodaoliang.com/blog/2014/10/30/Qt-msvc%E7%BC%96%E8%AF%91%E5%99%A8%E5%A6%82%E4%BD%95%E5%9C%A8Release%E4%B8%8B%E4%BA%A7%E7%94%9Fpdb%E6%96%87%E4%BB%B6.html