在控制流图的路径中搜索
很多时候,我在函数 foo
中进行打印时遇到问题,并且我想在代码中查找所有出现 Print
的情况,这些代码可从函数的控制流图中访问foo
。或者在 foo
和 bar
之间的路径中的所有代码中(因为我在调用 foo
之前验证了假设为 true,在调用 foo
后为 false) bar
,所以我想知道中间发生了什么)。
有没有任何工具可以让我轻松做到这一点。我不会使用 CIL 编译所有 C 代码,并编写一个 OCaml 模块来使用CFG。我想要一些麻烦最少的东西。
Eclipse CDT 应该能够做到这一点(您可以使用 show function hiererchy
计算 CFG),但我在那里没有找到类似的东西。
我现在的目标是 C/C++,但我会很高兴听到类似的工具?我不确定 CQL 有办法表达这一点。
Many times I'm having a problem with printing in function foo
, and I want to look for all occurences of Print
in code which is reachable in the Control Flow Graph from function foo
. Or in all code in the paths between foo
and bar
(as I verified an assumption is true before I call foo
, and false after I reach bar
, so I want to find out what's happening in between).
Is there any tool that allows me to do that easily. I'm not going to compile all my C code with CIL, and write an OCaml module to do search with the CFG. I want something that works with minimum hassle.
Eclipse CDT should be able to do that (you can calculate the CFG with show function hiererchy
), but I didn't find something similar there.
I'm now targeting C/C++, but I'll be glad to hear about similar tools? I'm not sure CQL have a way to express that.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论