首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用调试器(VS 2013)跟踪win32 API程序中的系统调用?

如何使用调试器(VS 2013)跟踪win32 API程序中的系统调用?
EN

Stack Overflow用户
提问于 2015-03-28 21:13:40
回答 1查看 712关注 0票数 0

我用Win32接口写了一个文件I/O的代码。(我正在使用Visual studio 2013)

它只获取两个文件名(一个用于源,一个用于目标),并将一个文件名复制到另一个文件名。

我使用了CreateFile,ReadFile,WriteFile。

它的功能很简单。这不是问题。但是..。

我希望看到这些函数中的系统调用在调试器中被调用。

我该怎么做呢?

使用调用堆栈?反汇编程序?

EN

回答 1

Stack Overflow用户

发布于 2015-03-28 21:46:05

因此,您不仅希望能够调试自己的代码,还希望能够调试API本身。有不同的方法可以做到这一点。

在最简单的级别上,只需使用VS2013中的调试器。您将无法跟踪内核代码,但可以跟踪API中的所有用户级代码。当然,由于您将使用没有符号表的非调试版本的Windows,因此您只能看到低级机器码(*)。

如果你真的想做得更深入,你必须使用Debugging Tools for Windows。正如您所说的,您希望调试系统调用,我的建议是使用Windows驱动程序工具包、Windows符号,如果您真的进入内核模式,可以使用Windows Remote debug Client for Windows (所有这些工具都可以从Windows Dev Center获得)。

所有这些工具都可以很好地集成到VisualStudio中,但要准备好进行艰苦的底层工作:-)

(*)你也可以使用微软的符号服务器来访问windows符号信息-感谢IInspectable的评论。但我从来没有测试过。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29317581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档