windows - 调用 kernel32.dll 函数时获取调用堆栈

标签 windows debugging

我有一个更改其当前目录的进程,我想知道它发生的时间和地点。我怎么能那样做?

我尝试使用 Visual Studio 在 SetCurrentDirectoryA/SetCurrentDirectoryW 中设置断点,但它不起作用。

最佳答案

您是在调试自己的程序,还是没有源代码的程序? Visual Studio 调试器对于调试无源应用程序不是很友好;在那种情况下,我会推荐 WinDbgOllyDbg - 甚至跳过调试器并使用 EasyHook 编写一个检测记录器.

编辑:

尝试在 {,,kernel32.dll}_SetCurrentDirectoryA@4 处设置断点 - 特殊的语法并且需要修饰的名称。自己没试过,但是找到了here . Google 关键字:“visual studio breakpoint api”:)

关于windows - 调用 kernel32.dll 函数时获取调用堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3805068/

相关文章:

javascript - 动态加载 jQuery Mobile 导致 IE 最小化

windows - 如何使用 Azure 防火墙处理入口网站流量?

c++ - 虚拟处理器和高级网络 linux 和 windows

windows - 使用 git 在 Windows 中推送到 code.google.com

.net - Visual Studio 2008 在我的所有断点处都没有停止,当我跳过语句时,通常是 “runs away”,为什么?

delphi - 如何在delphi中获取堆栈跟踪或至少错误行?

c# - 在 C# 中注册 Win + L 热键时出现问题

windows - 有没有办法在 WINdows 操作系统上使用 UNIX GREP 命令

ios - 为什么 Xcode Variables View "Edit Value"没有改变变量值?

debugging - 解决 'DevTools was disconnected from the page'和 Electron 助手死的技巧