我正在Windows 10中构建Haskell命令行应用程序,并试图通过跟踪系统调用并查看失败的原因来调试有关Windows 260个字符的文件路径限制的问题。
我为此使用了procmon(https://docs.microsoft.com/en-us/sysinternals/downloads/procmon),这似乎很不错,但是尽管它显示了许多相关的日志条目,但令我惊讶的是,它没有为特定的CreateFileW调用显示一个条目,该条目实际上超出了260个字符并使我的应用程序崩溃。
我曾短暂地尝试过Win32 API Monitor(https://www.apimonitor.com),但无法做出正面或反面;与需要在特定目录中启动的命令行应用程序相比,似乎更适合附加到已在运行的GUI应用程序。
是否有更好的替代方法或更好的方法?
@ RemyLebeau的答案是我需要的答案:
Is there a more reliable Win32 syscall tracing method than procmon?
我最终解决这个问题的方法是将base-4.11
升级到base-4.12
,它可以更好地处理Windows路径> 260个字符。
我认为我什至不需要注册表切换了。