之前xmake默认编译windows目标,debug模式下采用的是-Z7编译选项,内置的调试符号信息到obj文件里面
但是这种方式按msdn的文档上说,是属于旧式的调试符号文件格式,所以为了考虑后续的兼容性,xmake修改了默认的调试符号生成规则,
改为默认启用pdb符号文件,并且pdb的方式更为常用。。
这个行为的修改,并不会影响到xmake.lua的设置,如果在这个文件中,设置了启用调试符号:
lua
set_symbols("debug")
那么,编译debug版本的目标时,就会自动生成pdb文件,以tbox为例:
bash
$ xmake f -m debug
$ xmake
编译完成后,会自动在build
继续阅读 »
xmake默认情况下是不会去生成pdb文件,就算是debug编译,启用了调试符号:
lua
set_symbols("debug")
也是不会生成额外的pdb文件,它会把所有调试符号内置到程序里面,如果要独立生成pdb文件,可以对xmake.lua进行如下修改:
```lua
-- 先禁用内置的调试符号开关
--set_symbols("debug")
-- 静态库目标
target("test")
set_kind("static")
-- 仅针对windows平台
if is_plat("windows") then
-- 启用pdb生成
add_cxflags("-ZI", "-Fd$(bui
继续阅读 »
现在xmake在windows下,也已经支持调试运行了,可以在编译完debug版本的程序后,直接进行调试开发。。
我们继续以tbox工程为例:
bash
$ xmake f -m debug
$ xmake r -d demo
上述命令,先配置了debug模式编译,为了启用pdb调试符号文件的生成,然后自动编译后,调试运行demo程序。。
xmake会在配置的时候,自动检测windows上注册表里面的默认调试器,然后加载我们的目标程序并运行。
一般情况下,加载的是vs自带的vsjitdebugger调试器,当然xmake也支持windbg和ollydbg(做逆向的,这个用的比较多哈。。)
我们试着运行demo中的exc
继续阅读 »