Python源码学习 番外-为方便调试和查看变量而自己写的autoexp.dat
来源:互联网 发布:100本网络禁书在线阅读 编辑:程序博客网 时间:2024/06/05 16:16
autoexp.dat位于C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger 目录下,
控制了Visual Studio中变量的调试时候的显示方式, 其中预定义了STL中许多类型的显示
Python源码中,很多都是PyObject* 类型的变量, 查看起来非常不便,所以自己在autoexp.dat里面加了对PyObject类型的强制转换后的显示
;-----------------Python---_object|*::_object{preview(#( [(PyTupleObject*)(&$c), lx]," ,[Type] ",[$c.ob_type->tp_name,s]," ,[tp_flags] ",[$c.ob_type->tp_flags, lx],#if ($c.ob_type->tp_name[0] == 't' && $c.ob_type->tp_name[1] == 'u') (#(" ,[Size] ",[((PyTupleObject*)(&$c))->ob_base.ob_size,s]))#else(#if ($c.ob_type->tp_name[0] == 'd' && $c.ob_type->tp_name[1] == 'i') ( #( " ,[ma_fill] ", [((_dictobject*)(&$c))->ma_fill, s], " ,[ma_used] ", [((_dictobject*)(&$c))->ma_used, s] ))#else(#if ($c.ob_type->tp_name[0] == 's' && $c.ob_type->tp_name[1] == 't') (#( ",[buf] ", [((PyUnicodeObject*)(&$c))->str, su] ))#else()))))children(#if ($c.ob_type->tp_name[0] == 'd' && $c.ob_type->tp_name[1] == 'i') (#array(expr : ((_dictobject*)(&$c))->ma_table[$i].me_key,size: ((_dictobject*)(&$c))->ma_mask):$e)#else(#if ($c.ob_type->tp_name[0] == 't' && $c.ob_type->tp_name[1] == 'u') (#array(expr: ((PyTupleObject*)(&$c))->ob_item[$i],size:((PyTupleObject*)(&$c))->ob_base.ob_size):$e)#else ()))}
虽然没有覆盖所有类型,也hardcode了很多东西,但是至少dict 和tuple可以看的舒服一点了
- Python源码学习 番外-为方便调试和查看变量而自己写的autoexp.dat
- autoexp.dat可以修改VC调试watch窗口中自己数据类型的显示格式
- 为方便调试程序查看结果 而写的控制台输出类[继承CWnd]
- 浅谈autoexp.dat文件的配置
- [java]方便调试而写的一个小类
- autoexp.dat入门
- autoexp.dat入门
- 一个方便的查看变量调试内容的类
- VS高级使用方法1:autoexp.dat使用Visual studio在debug时显示变量内容
- 今天起打算写自己的博客,记录些学习到的技术,督促和方便自己学习,也希望对他人有所帮助。
- domino web端查看邮件附件为winmail.dat的解决办法
- 自己写的动画函数,方便啊
- 为自己而留的
- 方便自己查看
- linux安装jdk---摘抄(仅为方便自己查看)
- 自己写的python学习例子
- Easyui 树控件的学习 方便以后自己查看 .net mvc
- 自己的无线网卡使用--方便以后自己查看
- java生成随机数总结
- android 人脸识别
- 客户端 用不用 bind 的区别
- socket (hello world)
- 黑马程序员---Hibernate和Ibatis区别
- Python源码学习 番外-为方便调试和查看变量而自己写的autoexp.dat
- C语言实现 二分查找 支持降序和升序
- POJ 2528
- JavaScript -- 节点操作, 事件触发, 表单伸缩
- bash shell变量替换
- 反射
- git进行权限控制
- 《HTTP权威指南》 读一
- 获取arcgis克里格插值后的每个点的插值结果