Debugger 有两种 mode:
1. run mode
2. break mode
break mode下,我们可以在 local,auto等窗口,看到我们的变量。甚至,我们可以设置 data breakpoint,直接将箭头指向最终的结果:data 的变动。
然而,在 run mode下,我们如何查看数据呢?
问题:how to track an object(也就是 data) which is Out of Scope(也就是 run mode)while Debugging ?
对于C#/VB,可以使用 Object ID 来标志一个对象。
对于 native code,如果是分配在heap上的,只要知道memory address 和 native type,就可以转换成我们需要的objects。
(1)知道地址
(2)知道 类型 => 类型的指针 ( 对于一些不是整个 scope 都可见的名字,在 Watch 窗口引用是一个错误)
(3)在 Watch 窗口引用。