前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >dotnet 如何调试某个文件是哪个代码创建

dotnet 如何调试某个文件是哪个代码创建

作者头像
林德熙
发布2019-03-19 17:56:24
6420
发布2019-03-19 17:56:24
举报
文章被收录于专栏:林德熙的博客林德熙的博客

我发现了自己的软件,会在桌面创建一个 1.txt 文件,但是我不知道是哪个代码创建的,那么如何进行快速的调试找到是哪个代码创建的

最简单的方法是使用 VisualStudio 全局搜 1.txt 看是否存在,但是这个方法存在两个问题,一个问题是可能这个文件名是拼出来的,如下面代码

代码语言:javascript
复制
            for (int i = 1; i < 2; i++)
            {
                var file = $"{i}.txt";
            }

这样就无法通过搜 1.txt 找到这个代码

之外可能这个文件的写入是在库里面做的,如引用了 林德熙是逗比.dll 在这个库里面写入了文件

那么有什么有效的方法?

可以通过这样的方法,先删除这个文件,然后创建一个文件夹,将这个文件夹命名为和这个文件相同的名。如删除 1.txt 文件,然后创建 1.txt 文件夹,然后获取全局异常,现在就可以发现有文件读写异常的代码应该就是写入 1.txt 文件的代码

除了创建文件夹之外,还可以写一个 FileStream 占用这个 1.txt 文件,找到一个文件由另一个进程占用的异常就可以找到代码在哪

不过本文提供的这些方法都做不到解决在 C++ 等库里面写文件的问题

特别感谢walterlv这位写出了 a[b[c[e[g[a1[a2[a3]]]]]]].Foo 的小伙伴提供的方法

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档