加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

使用autoexp.dat和DLL扩展Visual Studio 2003 C调试器

发布时间:2020-12-14 05:51:45 所属栏目:Windows 来源:网络整理
导读:我知道解决方案是使用VS 2005或2008,但目前不是一个选项.我应该编写VS 2003 C调试器的扩展,以改进它在监视窗口中显示数据的方式.我使用DLL而不仅仅是基本的autoexp.dat功能的主要原因是我希望能够有条件地显示内容.即我想能够说“如果名字成员不是空字符串,
我知道解决方案是使用VS 2005或2008,但目前不是一个选项.我应该编写VS 2003 C调试器的扩展,以改进它在监视窗口中显示数据的方式.我使用DLL而不仅仅是基本的autoexp.dat功能的主要原因是我希望能够有条件地显示内容.即我想能够说“如果名字成员不是空字符串,显示名称,否则显示[其他成员]”

我无法在网上找到很多文档,无论是来自MS还是其他曾经使用过(或试图使用)VS 2003这一部分的人.MSDN EEaddin示例是一个不错的开始,但非常基本,并没有真正帮助我获得非常远.

到目前为止,我只是在学习如何解决它,学习如何显示各种类型,而不知道到底我将采用哪种类型.

我已经管理(通过大量的试验和错误)来使DLL显示指向基本类型的成员,字符串成员,指向用户定义类型的成员和auto_ptr< int>成员.目前我无法显示矢量成员和auto_ptr< string>成员.

(我发现一个页面说auto_ptrs已被弃用,但我需要能够正确显示它们,因为它们在我的扩展名所用的代码中使用.)

我的问题是:有没有人做过这种事情,你有没有或知道一些有关这个问题的有用文件?

谢谢!

[更新:]
我弄清楚为什么我遇到auto_ptr< string>的问题班级成员.这是因为字符串类的实现方式.它有一个char [16]缓冲区,用于存储短字符串的数据;如果字符串长度超过(15个字符的终止字符),则为char *指针.我不确定是否有可能并且值得尝试破解它以显示更长的字符串(我可以显示足够短的字符串以保存在char [16]缓冲区中)

解决方法

本文可能对您有所帮助:

http://msdn.microsoft.com/en-us/library/aa730838(VS.80).aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读