请求SOS扩展命令的帮助!Windbg中的BPMD(即键入!help BPMD
)会生成一个文本,其中包含有关如何打入基因类型方法的说明。其内容如下:
!BPMD works equally well with generic types. Adding a breakpoint on a generic
type sets breakpoints on all already JIT-ted generic methods and sets a pending
breakpoint for any instantiation that will be JIT-ted in the future.
Example for generics:
Given the following two classes:
class G3<T1, T2, T3>
{
...
public void F(T1 p1, T2 p2, T3 p3)
{ ... }
}
public class G1<T> {
// static method
static public void G<W>(W w)
{ ... }
}
One would issue the following commands to set breapoints on G3.F() and
G1.G():
!bpmd myapp.exe G3`3.F
!bpmd myapp.exe G1`1.G
我在这里无法理解的是最后两行中使用的语法。撇号(`)是什么意思,所涉及的整数(撇号右边的那些)是什么意思?这些代码是否与方法的类型(public void和static public void)相关,还是它们引用了模板参数的数量?如果第一个猜测为真,我会在哪里找到可能的类型列表?
答案 0 :(得分:2)
反引号符号是在IL中指定泛型类型的语法。反引号后面的数字是通用参数的数量。