dotnet 如何调试某个文件是哪个代码创建
我发现了自己的软件,会在桌面创建一个 1.txt 文件,但是我不知道是哪个代码创建的,那么如何进行快速的调试找到是哪个代码创建的
最简单的方法是使用 VisualStudio 全局搜 1.txt
看是否存在,但是这个方法存在两个问题,一个问题是可能这个文件名是拼出来的,如下面代码
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
的小伙伴提供的方法
我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新
如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
相关文章
- 解决方案:读取两个文件夹里不同名的文件,处理映射不对应的文件
- c++通用写文件调试代码
- 【VS开发】利用VS2015的工程文件来复制另外一个工程的配置的使用说明
- 02、创建RDD(集合、本地文件、HDFS文件)
- 银河麒麟安装LLDB的方法以及调试 dump 文件 (未完成)
- C文件操作的语言fgets()
- .NET Core Aspose Word(.doc,docx)文件加水印
- 【Web安全】文件上传漏洞
- 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )
- MDK下调试时提示AXF文件无法导入的解决方法(转)
- linux下的so、o、lo、a、la文件的区别
- 【Android 性能优化】布局渲染优化 ( 过渡绘制 | 自定义控件过渡绘制 | 布局文件层次深 | GPU 过渡绘制调试工具 | 背景过度绘制 )
- 修复 VisualStudio 构建时没有将 NuGet 的 PDB 符号文件拷贝到输出文件夹
- CAD二次开发--系统找不到指定的文件/应用程序不支持实时(JIT)调试解决办法【即:C#调用外部exe文件在CAD内部执行失败处理办法】
- 2019-4-29-Roslyn-将这个文件放在你的项目文件夹,无论哪个控制台项目都会输出林德熙是逗比...
- PNG文件结构分析 ---Png解析