1、編譯器設置
Project|Options
Compiler(編譯)
"Full debug"(完全調試模式)
"Code optimization"(代碼優化)
"debugging"(調試)
"Debug information"(調試信息)
"Line number information"(行數信息)
"Disable inline expansions"(禁用內聯擴展)
"Pascal"標籤
"Optimization"優化
"debugging"(調試)
"Linker"(鏈接)
"Create debug information"(生成調試信息)
"Don’t generate state files"(不要生成狀態文件)
"Use dynamic RTL"(使用動態RTL)
"Directories/Conditionals"(路徑/條件)
"Packages"(程序包)
"Build with runtime packages"(帶運行時程序包編譯)
Tools|Debugger Options
Integrated debugging"(集成調試器)
Project|Build All(徹底的編譯)
2、設置RTL
C builder 有幾種運行時庫,多線程靜態鏈接庫,單線程靜態鏈接庫 以及動態的,含有
VCL的,下面介紹多線程靜態鏈接庫,單線程靜態鏈接庫 是沒有VCL的,VCL中自動 包含多線程。
Use RTL multi-threaded static library 使用多線程靜態鏈接庫
到*.bpr 中,按下面的修改即可。
<CFLAG1 value="-tWD -tWM -Od -H=$(BCB)/lib/vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -c"/>
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
Use RTL single-threaded static library 使用單線程靜態鏈接庫
到*.bpr 中,按下面的修改即可。
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32.lib"/>
3、CB內存漏洞工具
CODEGUARD調試器
庫文件CG32.LIB/CG32.DLL
一、編譯 (Project/Option-> CodeGuard)
二、運行(Tools/CodeGuard Configuration)
文件爲*.CGI
日誌文件中,文件名爲 *.CGI。用 View/Debug Window/CodeGuard Log察看或者記 事本