Vs2013在Linux开发中的应用(29):寄存器信息

快乐虾

http://blog.csdn.net/lights_joy/

欢迎转载,但请保留作者信息


VS需要获取寄存器值的时候,会调用


        // Creates an enumerator for properties associated with the stack frame, such as local variables.
        // The sample engine only supports returning locals and parameters. Other possible values include
        // class fields (this pointer), registers, exceptions...
        int IDebugStackFrame2.EnumProperties(enum_DEBUGPROP_INFO_FLAGS dwFields, uint nRadix, ref Guid guidFilter, uint dwTimeout, out uint elementsReturned, out IEnumDebugPropertyInfo2 enumObject) {

此时传递进来的guidFilter的值为:

        static private Guid _guidFilterRegisters = new Guid("223ae797-bd09-4f28-8241-2763bdc5f713");

在此调用gdb命令

-data-list-register-names

-data-list-register-values

再将结果填充到SDM要求的接口中,就可以看到寄存器的值了:

技术分享

当然,直接在监视窗口中输入寄存器的值也可以:

技术分享


很可惜和线程列表一样存在速度慢的问题,需要再改进!






??

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。