C#应用调试C++ dll的方法

最近碰到个C#应用闪退的问题,由于通讯部分调用了C++工程写的dll,下面介绍一种调试的方法。

右键 启动项目,分别配置常规和和调试即可,如下图。

常规中,输出目录设置为安装目录中dll对应的目录;

调试中命令设置为应用程序(.exe)完整路径;调试类型为“仅限本机”。

时间: 2024-10-12 04:15:21

C#应用调试C++ dll的方法的相关文章

Delphi开发DLL的方法

1.1)FILE—>NEW—>OTHER,选择DLL. 2)FILE-->NEW-->UNIT.然后写代码.在interface 后面加入 function countnum(i:integer):integer;export; 在implementation后面写函数的代码. 3)在DLL的project文件里面的{$R *.res}后面加上exports countnum; 调试成功以后 会生成一个 project1.dll 文件 2.调用DLL的方法:在unit 部分编写代码

Dll注入方法-钩子

HHOOK SetWindowsHookEx(int idHook,HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId); idHook: 钩子类型lpfn:钩子过程的指针 ,也即拦截到指定系统消息后的预处理过程,定义在DLL中hMod:应用程序实例的句柄 如果是全局钩子, hInstance是DLL句柄(DllMain中给的模块地址.就是包含HookProc的动态库加载地址.否则给0就可以了,即勾自己.dwThreadId:要安装钩子的线程ID ,指

C#调用带结构体指针的C Dll的方法

原文:C#调用带结构体指针的C Dll的方法 在C#中调用C(C++)类的DLL的时候,有时候C的接口函数包含很多参数,而且有的时候这些参数有可能是个结构体,而且有可能是结构体指针,那么在C#到底该如何安全的调用这样的DLL接口函数呢?本文将详细介绍如何调用各种参数的方法. 一.调用接口仅含普通变量 eg:int fnAdd(int num1,int num2); 那么在C#调用这种函数最简单了,直接用函数原型即可,如下: [DllImport("你的dll名称", EntryPoin

DELPHI使用TClientDataSet时不携带MIDAS.DLL的方法

DELPHI使用TClientDataSet时不携带MIDAS.DLL的方法 转载自地址:http://www.cnblogs.com/mikemao/archive/2011/12/19/2293664.html TClientDataSet小家碧玉,恐怕人人都喜欢使用.但是,都知道娶TClientDataSet是有代价的,因为你同时也得面对丈母娘MIDAS.DLL.           能不能使用TClientDataSet又不用MIDAS.DLL呢?           很简单,就是use

C# 动态态引用DLL的方法

首先,我们需要封装一个dll,vs2008下建立一个类库,代码如下: using System; using System.Collections.Generic; using System.Linq; using using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace dll { public class addclass { public static In

c#动态加载卸载DLL的方法

这篇文章介绍了c#动态加载卸载DLL的方法,有需要的朋友可以参考一下 c#中通过反射可以方便的动态加载dll程序集,但是如果你需要对dll进行更新,却发现.net类库没有提供卸载dll程序集的方法.在.net 中,加入了应用程序域的概念,应用程序域是可以卸载的.也就是说,如果需要对动态加载的dll程序集进行更新,可以通过以下方法解决: 新建一个应用程序域,在该应用程序域中动态加载DLL,然后可以卸载掉该应用程序域.该应用程序域被卸载的时候,相关资源也会被回收. 要想这样实现,就要让你程序的cur

Visual studio 调试连接数据库异常解决方法

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Data.SqlClient.SqlException: 在

Qt中纯C++项目发布为dll的方法(超详细步骤)

众所周知,我们可以将C++项目中的类以及函数导出,形成 .dll 文件,以供其他程序使用,下面将说明Qt环境下的使用方法. 首先创建共享库,步骤如下: 下一步会出现类对话框等等,不用管它,直接点击创建即可,稍后再将类都删了. 创建好以后你会发现有一个包含global的头文件,这个文件中定义了__declspec(dllexport).__declspec(dllimport)等,也可以删掉(如果要按照下面的方法的话,删掉即可). 接下来还有重要的一步,请在.pro文件中,加入 CONFIG +=

使用QT调试助手的设置方法

Qt Creator版本为2.7.0. Qt库版本为4.8.4. MinGW版本为4.40. 此版本的QtCreator的Qt调试助手改用了python,而mingw自带的gdb不支持python,所以需要支持python的gdb,才能使用Qt调试助手. 1.下载支持python的gbd. 支持python的gbd的下载路径如下: http://qt-project.org/wiki/QtCreatorBuildGdb http://download.qt-project.org/develop