我正在考虑为 Visual Studio 2005 编写一个需要监视窗口类型功能的插件(或包,如有必要)——评估表达式和检查类型。提供的自动化设施
Debugger::GetExpression
,足够有用,但提供的信息有点粗糙。
通过查看文档,听起来 an
IDebugExpressionContext2
会更有用。有了其中一个,我似乎可以从表达式中获得更多信息——关于类型和任何成员的详细信息等等,而无需将所有内容都作为字符串传递。
不过,我找不到任何实际获得 a 的方法IDebugExpressionContext2
!IDebugProgramProvider2
看起来有点相关,因为我可以开始,IDebugProgramProvider2::GetProviderProcessData
然后慢慢向下钻取,直到找到可以提供我的表达式上下文的东西——但我需要为此提供一个端口,并且不清楚如何检索对应于的端口当前的调试会话。(即使我尝试了每个端口,也不清楚如何判断哪个端口是正确的......)
我开始怀疑这根本不是一个受支持的用例,但幸运的是,我只是错过了一些非常明显的东西。
有人可以帮忙吗?