一.
模糊location
,可以被list,break
等使用.都是匹配到的具体行.最终都可以转化为数字.
linenum
当前操作文件的指定行.
-offset,+offset
声明相对当前的相对偏移.
list
以上一次输出为基准.
break
以当前停止的栈帧位置为基准.
list
的last
,则是以第一个参数为基准.
filename:filenum
文件和位置,相对路径可能有多个匹配,设置断点可能是同时对多个进行设置.
所以尽量详细.
function
匹配函数的声明位置所在行.
C++
可以是命名空间和函数,格式可能是B::C
这种会匹配A::B::C,B::C
两种。这种会和filename:filenum
格式冲突,精确选择模式可以解决这种冲突.
B::C
会匹配多个,采用的是模糊匹配.-qualified func
将会完全匹配.不会匹配A::B::C
function:label
函数中的label
,label
就是函数中用于goto
的东西.
filename:function
指定文件的函数,也可能多个匹配.尽量精确的声明,避免二义性.
label
当前函数下的label
.
二.
参数精确匹配
-source filename
就真的是文件名.多个匹配则使用第一个.一般和-function,-line
中的一个一起使用.
-function function
同上,B::C
还是可能造成二义性,因为可能匹配多个函数.可以用-qualified
规避.
一般也可以结合-label,-line
使用.
-label label
不会和第一种那样定义模糊,表示标签.
-line number
行号,可以是相对可以是绝对.
三.
代码地址匹配.
可以使用disasseble
获取代码地址.
然后以*address
的格式设置.
可以是任何地址的表达式,表达式符合对应语言的语法.