dnSpy调试工具断点信息是保存在哪里的呢
本人是C#开发,dnSpy工具用的比较多,有时候想把有用的断点信息保留下来,挪到别的机器上也能使用。我做这个事情的主要目标是在调试我们公司的程序时,顺带把访问的sql也进行输出,就可以偷懒不用每次都去查阅代码了,类似的效果如下:

一开始怀疑该断点信息是保存在dnSpy程序的运行目录下,找了一下没找到有;接着去找注册表,也没找到,没办法,只能阅读dnSpy的源码了,经过一翻努力,被我找到了
要找打它,步骤如下:
1 在运行(快捷方式:window键+R键)中输入"%AppData%",如下图:

2 在打开的目录中,我们可以看到一个名为dnSpy的目录(如果没有这个目录,要先打开dnSpy.exe后关闭就可以看到该目录了)

3 打开dnSpy目录,可以看到一个名为dnSpy.xml的配置文件,我们的断点调试信息就保存在这个文件下,当然,那天你看得不爽了,可以直接删掉这个配置文件,下次还会自动生成的。如下图:


xml文本如下:
<?xml version="1.0" encoding="utf-8"?>
<settings><section _="071cf92d-acfa-46a1-8eef-dfac1d01e644" /><section _="1ace15fd-d689-40dc-b1e7-6eec25b3116f" /><section _="2366a90d-c708-4a10-81af-7887976bc3fb" /><section _="33e1988b-8eff-4f4c-a064-fa99a7d0c64d"><section _="MainWindowControlState"><section _="Horizontal" horizontal="True"><section _="Length" l="250" /><section _="Length" l="6" /><section _="Length" l="1.05*" /></section><section _="Location" g="5495ee9f-1ef2-45f3-a320-22a89bfdf731" l="Left" /><section _="Location" g="e5745d58-4dcb-4d92-b786-4e1635c86eed" l="Bottom" /><section _="ToolWindow" index="0" is-horizontal="False" location="Left"><section _="Group" index="0"><section _="Content" g="5495ee9f-1ef2-45f3-a320-22a89bfdf731" /></section><section _="StackedContent" horizontal="True"><section _="Length" l="0.95*" /></section></section><section _="ToolWindow" index="-1" is-horizontal="False" location="Right"><section _="StackedContent" horizontal="True" /></section><section _="ToolWindow" index="-1" is-horizontal="False" location="Top"><section _="StackedContent" horizontal="True" /></section><section _="ToolWindow" index="0" is-horizontal="False" location="Bottom"><section _="Group" index="0"><section _="Content" g="e5745d58-4dcb-4d92-b786-4e1635c86eed" /></section><section _="StackedContent" horizontal="True"><section _="Length" l="0.95*" /></section></section><section _="Vertical" horizontal="False"><section _="Length" l="0.95*" /><section _="Length" l="6" /><section _="Length" l="250" /></section></section><section _="SavedWindowState" Bounds="-53,120,1300,730" IsFullScreen="False" WindowState="Maximized" /></section><section _="34cf0af5-d265-4393-bc68-9b8c9b8ea622" ShowAllThemes="False" ThemeGuid="64efbb2c-0aca-467c-8389-9fa350376f3f" /><section _="3643ce93-84d5-455a-9183-94b58bc80942" /><section _="3e04abe0-fd5e-4938-b40c-f86aa0fa377d" /><section _="42cb1310-641d-4eb7-971d-16dc5cf9a40d" /><section _="4d05c47d-3f6a-429e-9cb3-232e10d45468" /><section _="53863c11-df95-43f2-8f86-5e9dfcce6893"><section _="FileLists" name="(Default)"><section _="FileList" name="(Default)"><section _="File" name="D:\张祥裕\代码\lib\Spring.Data.dll" /></section></section><section _="TabGroupWindow" index="-1" is-horizontal="False" name="Main"><section _="StackedContent" horizontal="True" /></section></section><section _="642b9276-3c9a-4efe-9b3b-d62046824b18" /><section _="6745457f-254b-4b7b-90f1-f948f0721c3b" /><section _="686c5cfb-ff63-4aa5-8c92-e08607ae5146" /><section _="6a7e565d-dc09-4aae-a7c8-e86a835fcbfc" /><section _="91f1ed94-1bea-4853-9240-b542a7d022ca" /><section _="b744ae6d-24e0-47a3-acf6-388eccb1c65a" /><section _="d9809eb3-1605-4e05-a84f-6ee241faad6c" /><section _="dd6752b1-5336-4601-a9b2-0879e18ae9f3" /><section _="f1634589-21ad-42dc-a729-e23cbd7072d2" /><section _="fbc6039c-8a7a-49dc-9c32-52c1b73de0a3"><section _="Breakpoint" IsEnabled="True"><section _="BPL" __BPT="DotNet" AssemblyFullName="Spring.Data, Version=1.3.2.20943, Culture=neutral, PublicKeyToken=65e474d141e25e07" Method="T Spring.Data.Generic.AdoTemplate::QueryWithResultSetExtractor<T>(System.Data.CommandType,System.String,Spring.Data.Generic.IResultSetExtractor`1<T>,Spring.Data.Common.IDbParameters)" ModuleName="D:\张祥裕\代码\lib\Spring.Data.dll" Offset="0" Token="100664314" /><section _="Trace" Message=""Spring输出的sql:"+{cmdText}" /></section><section _="Breakpoint" IsEnabled="True"><section _="BPL" __BPT="DotNet" AssemblyFullName="Oracle.DataAccess, Version=2.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" Method="System.Void Oracle.DataAccess.Client.OracleCommand::set_CommandText(System.String)" ModuleName="C:\Windows\assembly\GAC_32\Oracle.DataAccess\2.122.19.1__89b483f429c47342\Oracle.DataAccess.dll" Offset="48" Token="100665772" /><section _="Trace" Message=""输出的sql:"+{m_commandText}" /></section><section _="Breakpoint" IsEnabled="True"><section _="BPL" __BPT="DotNet" AssemblyFullName="Oracle.DataAccess, Version=2.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" Method="System.Int32 Oracle.DataAccess.Client.OracleParameterCollection::Add(System.Object)" ModuleName="C:\Windows\assembly\GAC_32\Oracle.DataAccess\2.122.19.1__89b483f429c47342\Oracle.DataAccess.dll" Offset="43" Token="100666661" /><section _="Trace" Message="参数: {oracleParameter.m_paramName},{oracleParameter.m_value}" /></section></section>
</settings>
当然,要挪到别的机器,需要把ModuleName进行修改
相关文章:
dnSpy调试工具断点信息是保存在哪里的呢
本人是C#开发,dnSpy工具用的比较多,有时候想把有用的断点信息保留下来,挪到别的机器上也能使用。我做这个事情的主要目标是在调试我们公司的程序时,顺带把访问的sql也进行输出,就可以偷懒不用每次都去查阅代码了&#…...
融汇贯通 —— 2023年技术与心灵的双重成长旅程
当我们站在2023年的岁末,回望这一年赋予我们的经历和挑战,心中涌动的感慨与启示像朝日初升的光芒,照亮脚下的路,亦照见心中的路。在此,我想分享几个方面的感悟和成长,愿它们能有所触动,成为您前…...
基于element ui封装table组件
效果图: 1.封装表格代码如下 <template> <div><div class"TableList"><el-tablev-loading"loading"selection-change"selectionChange"class"table":data"tableData":border"hasBorde…...
MySQL进阶之(一)逻辑架构
一、逻辑架构 1.1 逻辑架构剖析1.1.1 连接层1.1.2 服务层01、基础服务组件02、SQL Interface:SQL 接口03、Parser:解析器04、Optimizer:查询优化器05、Caches & Buffers: 查询缓存组件 1.1.3 引擎层1.1.4 存储层1.1.5 总结 1.…...
【前端学习指南】开启 Vue 的学习之旅
🍭 Hello,我是爱吃糖的范同学 秋招终于结束了(拿到了比较满意的 offer🎉🎉🎉,后续也会有“面筋”系类给大家分享),目前我终于也有足够的时间和精力来完成我 23 年遗留下…...
编程笔记 html5cssjs 011 HTML页面划分
编程笔记 html5&css&js 011 HTML页面划分 HTML的框架、区块和布局是什么,它们之前的关系是怎样的?框架注意 接下来要看一下网页内的划分。通过框架、区块及布局等方式,将网页从一个长方形整体划分为若干个部分,以合理展示…...
Centos7:Jenkins+gitlab+node项目启动(2)
Centos7:Jenkinsgitlabnode项目启动(1) Centos7:Jenkinsgitlabnode项目启动(1)-CSDN博客 Centos7:Jenkinsgitlabnode项目启动(2) Centos7:Jenkinsgitlabnode项目启动(2)-CSDN博客 Centos7:Jenkinsgitlabnode项目启…...
Qt+Opencv:人脸检测
话接上一篇,我们仍使用在上篇《QtOpencv:Qt中部署opencv》创建的Qt项目来测试opencv提供的sample。 在正式开始本篇之前,我们先说做一下准备工作: 一、opencv官方文档 学习最权威和最可靠的方式,就是阅读官方文档和…...
ChatGPT在地学、GIS、气象、农业、生态、环境等领域中的高级应用
以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮,可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…...
Unreal Engine游戏引擎的优势
在现在这个繁荣的游戏开发行业中,选择合适的游戏引擎是非常重要的。其中,Unreal Engine作为一款功能强大的游戏引擎,在业界广受赞誉。那Unreal Engine游戏引擎究竟有哪些优势,带大家简单的了解一下。 图形渲染技术 Unreal Engin…...
[OCR]Python 3 下的文字识别CnOCR
目录 1 CnOCR 2 安装 3 实践 1 CnOCR CnOCR 是 Python 3 下的文字识别(Optical Character Recognition,简称OCR)工具包。 工具包支持简体中文、繁体中文(部分模型)、英文和数字的常见字符识别,支持竖…...
字符串序列判定(100%用例)C卷 (JavaPythonNode.jsC语言C++)
输入两个字符串 S 和 L ,都只包含英文小写字母。 S 长度 <=100 , L 长度 <=500,000 。判定 S 是否是 L 的有效字串。 判定规则: S 中的每个字符在 L 中都能找到(可以不连续),且 S 在L中字符的前后顺序与 S 中顺序要保持一致。(例如, S="ace" 是 L=&q…...
ERROR: No matching distribution found for torch==2.0.1解决方案
大家好,我是水滴~~ 本文主要介绍在安装 stable-diffusion-webui 时出现的 ERROR: No matching distribution found for torch2.0.1 问题的解决方案,希望能对你有所帮助。 《Python入门核心技术》专栏总目录・点这里 文章目录 问题描述解决方案离线安装 …...
ClickHouse基础知识(五):ClickHouse的SQL 操作
基本上来说传统关系型数据库(以 MySQL 为例)的 SQL 语句,ClickHouse 基本都支持, 这里不会从头讲解 SQL 语法只介绍 ClickHouse 与标准 SQL(MySQL)不一致的地方。 1. Insert 基本与标准 SQL(My…...
【Python基础】字符串
文章目录 [toc]什么是字符串索引示例索引越界 切片语法示例 字符串方法find()方法rfind()方法count()方法replace()方法 个人主页:丷从心 系列专栏:Python基础 什么是字符串 如下定义的变量url存储的是字符串类型的值 url www.baidu.com print(url)u…...
Linux中proc文件系统相关介绍
proc虚拟文件系统的工作原理 linux 内核是一个非常庞大、非常复杂的一个单独的程序,对于这样一个程序来说调试是非常复杂的。像kernel这样庞大的项目,给里面添加或者修改一个功能是非常麻烦的,因为添加一个功能可能会影响其他已经有的功能。…...
深入理解 YOLOv8:解析.yaml 配置文件目标检测、实例分割、图像分类、姿态检测
目录 yolov8导航 YOLOv8(附带各种任务详细说明链接) 引言 YOLOv8配置文件概览 yolov8.yaml 1. nc 2. scales 3. backbone 4. head yolov8-seg.yaml 1. 参数部分 2. 骨架(Backbone)部分 3. 头部(Head&…...
oracle与mysql的分析函数(窗口函数)
分析函数定义 在SQL语句中,很多查询语句需要进行GROUP BY分组汇总,但是一旦经过分组,SELECT返回的记录数就会减少。为了保留所有原始行记录,并且仍可以进行分组数据分析,分析函数应运而生。 Oracle 8i 版本开始支持窗…...
《微信小程序开发从入门到实战》学习六十五
6.4 交互API 6.4.5 页面滚动API 使用wx.pageScrollTo接口可使页面自动滚动到目标位置。该接口介绍Object参,该参支持属性如下所示: scrollTop:必填,滚动到页面的目标位置,单位为px duration:滚动动画的…...
开箱即用的企业级数据和业务管理中后台前端框架Ant Design Pro 5的开箱使用和偏好配置
Ant Design Pro 介绍 Ant Design Pro 是一个开箱即用的企业级前端解决方案,基于 Ant Design 设计体系,提供了丰富的组件和功能,帮助开发者更快速地开发和部署企业级应用。 Ant Design Pro 使用 React、umi 和 dva 这三个主要的前端开发技术…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
