热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如果输出目录不是调用应用程序正在调用的位置,则不会命中C#Dll调试断点

根据

根据debug-from-the-dll-project


DLL输出是否有解决方法,不是调用应用程序正在调用的位置?

我想通过start external program调试DLL,程序将在启动时加载DLL。也就是说,程序启动后,我直接按下F5而不是attach to process

为了不污染真实目标目录,我通过构建后事件将dll和pdb复制到真实目标目录。

但是断点没有命中。

为此有任何解决方法吗?


我认为我应该用尽可能少的单词来描述这个复杂的问题。

现在我有两个名为ProjectExeProjectDll的项目。

ProjectExe的输出目录为:D:\ProjectExe\bin\

ProjectDll的输出目录为:D:\ProjectDll\bin\

D:\ProjectExe\bin\中有一个名为Plugins的目录,所以它是D:\ProjectExe\bin\Plugins\

ProjectDll 构建后事件命令行:

XCOPY D:\ProjectDll\bin\*.dll D:\ProjectExe\bin\Plugins\ /Y
XCOPY D:\ProjectDll\bin\*.pdb D:\ProjectExe\bin\Plugins\ /Y

ProjectExe输出一个a.exe,它将在启动后D:\ProjectExe\bin\Plugins\加载Assembly.LoadFrom(string path)内的所有dll。

这是ProjectDll的设置:

如果输出目录不是调用应用程序正在调用的位置,则不会命中C#Dll调试断点

好的,现在我从ProjectDll按F5,启动a.exe,然后触发a.exe来调用dll中的方法,但要调用ProjectDll中的断点没有击中 !!!

如果现在我分离,请手动重新连接到a.exe进程,然后触发a.exe来调用dll中的方法,即断点 hit ! / p>

所以我的问题是在这种情况下如何在不重新连接的情况下达到断点?




  

但是断点没有命中。为此有任何解决方法吗?

我在机器上对其进行了测试,并且可以正常工作。所以我认为它也应该对您有用,请检查:


  1. 如果遇到这样的事情:

    enter image description here

    请确保您的调用应用程序使用的程序集版本与当前库项目相同。


  2. 按F5键后,汇编代码中的断点什么都没有发生,即使是#1之类的简单警告。请检查调试器是否可以通过调用应用程序中的Main()方法进入您的库方法。

    例如:我有CallingApp和CalledDll两个项目。当我在CalledDll项目中调试时,除非引用该CalledDll.dll并在CallingApp的Main()方法中调用它的函数,否则不会打断点。(或Main调用的方法,我们必须确保在CallingApp中运行时.exe,它将最终输入CalledDll的代码)




推荐阅读
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 在Java开发中,保护代码安全是一个重要的课题。由于Java字节码容易被反编译,因此使用代码混淆工具如ProGuard变得尤为重要。本文将详细介绍如何使用ProGuard进行代码混淆,以及其基本原理和常见问题。 ... [详细]
  • pypy 真的能让 Python 比 C 还快么?
    作者:肖恩顿来源:游戏不存在最近“pypy为什么能让python比c还快”刷屏了,原文讲的内容偏理论,干货比较少。我们可以再深入一点点,了解pypy的真相。正式开始之前,多唠叨两句 ... [详细]
  • 优先队列是一种特殊的队列,不遵循先进先出原则。它分为最大优先队列和最小优先队列。最大优先队列总是将当前最大的元素优先出队,而最小优先队列则总是将当前最小的元素优先出队。本文将详细介绍如何使用二叉堆在C#中实现这两种优先队列。 ... [详细]
  • WPF项目学习.一
    WPF项目搭建版权声明:本文为博主初学经验,未经博主允许不得转载。一、前言记录在学习与制作WPF过程中遇到的解决方案。使用MVVM的优点是数据和视图分离,双向绑定,低耦合,可重用行 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • 本教程介绍如何在C#中通过递归方法将具有父子关系的列表转换为树形结构。我们将详细探讨如何处理字符串类型的键值,并提供一个实用的示例。 ... [详细]
  • 本文详细介绍了`android.os.Binder.getCallingPid()`方法的功能和应用场景,并提供了多个实际的代码示例。通过这些示例,开发者可以更好地理解如何在不同的开发场景中使用该方法。 ... [详细]
  • c#  项目文件,C#viual studio使用方法
    一、项目文件1)Properties节点下主要存放的是当前程序集相关的信息,如版本号、标题等。双击”Properties“,打开如下项目属 ... [详细]
  • 关于进程的复习:#管道#数据的共享Managerdictlist#进程池#cpu个数1#retmap(func,iterable)#异步自带close和join#所有 ... [详细]
  • NPM 脚本 'start' 退出,未显示 create-react-app 服务器正在监听请求
    遇到 NPM 脚本 'start' 退出且未显示 create-react-app 服务器正在监听请求的问题,请求帮助。 ... [详细]
  • 我自己做了一个网站图片的抓取,感觉速度有点慢抓取4000张图片可能得用15分钟左右的时间,我百度看用线程可以加快抓取,然后创建了5个线程抓取,但是5个线程是同步执行同样的操作一个图片就 ... [详细]
  • C#本随笔为个人复习巩固知识用,多从书上总结与python基础教程理解归纳得来,如有错误烦请指正面向对象的三大基本特征:封装、继承、多态 ... [详细]
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
author-avatar
多米音乐_34176403
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有