gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:47 25 4
gpt4 key购买 nike

好吧,我用 Win32 API 写了一个文件 I/O 代码。(我使用的是 Visual Studio 2013)

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

我使用了 CreateFile、ReadFile、WriteFile。

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

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

我该怎么做?

调用堆栈?反汇编程序?

最佳答案

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

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

如果你真的想更深入,你将不得不使用 Debugging Tools for Windows 。正如你所说你想要调试系统调用,我的建议是使用 Windows Driver Kit,Windows Symbols,如果你真的进入内核模式,Windows 的 Windows Remote Debugging Client(所有这些工具都可以从 Windows Dev Center 获得) .

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

(*) 您还可以使用 Microsof Symbol Server 访问 Windows 符号信息 - 感谢 IInspectable 的评论。但我从未测试过。

关于c - 如何使用调试器 (VS 2013) 跟踪 win32 API 程序中的系统调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29317581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com