社区
其他技术讨论专区
帖子详情
动态调用的dll,在引用另一个dll时的debug问题
weixin_38051760
2016-05-16 02:56:26
我的exe程序通过Assembly类在运行时动态调用一个test.dll,同时,这个test.dll引用了test2.dll,运行正常。test.dll和test2.dll的代码是在同一个solution里,都是C#,.NET 4.0。
我在VS2015里通过附加到进程的方法,可以成功debug到test.dll里的代码,但是无法调试进test2.dll的代码里,在debug到test.dll调用test2.dll的相关代码行按F11,VS报错如下:
请问要如何才能实现debug?
...全文
20
4
打赏
收藏
动态调用的dll,在引用另一个dll时的debug问题
我的exe程序通过Assembly类在运行时动态调用一个test.dll,同时,这个test.dll引用了test2.dll,运行正常。test.dll和test2.dll的代码是在同一个solution里,都是C#,.NET 4.0。 我在VS2015里通过附加到进程的方法,可以成功debug到test.dll里的代码,但是无法调试进test2.dll的代码里,在debug到test.dll调用test2.dll的相关代码行按F11,VS报错如下: 请问要如何才能实现debug?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
C++
调用
dll
的方法
在C++中,为了支持重载机制,在编译生成的汇编码中,要对函数的名字进行一些处理,加入比如函数的返回类型等等.而在C中,只是简单的函数名字而已,不会加入其他的信息.也就是说:C++和C对产生的函数名字的处理是不一样的。
dll
的开发者可以通过
dll
隐藏接口的代码实现,比如你只想让其他人使用你的算法,但不想让其他人知道你的算法和逻辑代码,就可以把它们封装到
dll
中。
动态
调用
不是链接
时
完成的,而是在运行
时
完成的,
动态
调用
不会在可执行文件中写入
DLL
相关的信息,而是直接
调用
dll
中的函数。
C#如何
调用
DLL
?
3. 确保
DLL
在路径中:将
DLL
文件放在你的应用程序的输出目录中(例如,
Debug
或Release文件夹),或者将其放在系统的PATH环境变量中指定的目录中。你需要指定
DLL
的名称和要
调用
的函数名。3. 封装
DLL
调用
:在C++/CLI项目中,使用#include来包含你的非托管
DLL
的头文件,并编写托管代码来封装
DLL
中的函数。5.
调用
封装的方法:在你的C#代码中,通过C++/CLI类库提供的托管接口来
调用
非托管
DLL
中的函数。4. 添加
引用
:在你的C#项目中,添加对C++/CLI类库的
引用
。
vc
调用
dll
静态
调用
和
动态
调用
.
VC
调用
DLL
调用
DLL
有两种方法:静态
调用
和
动态
调用
. (一).静态
调用
其步骤如下: 1.把你的youApp.
DLL
拷到你目标工程(需
调用
youApp.
DLL
的工程)的
Debug
目录下; 2.把你的youApp.lib拷到你目标工程(需
调用
youApp.
DLL
的工程)目录下; 3.把你的youApp.h(包含输出函数的定义)拷到你目标工程(需
调用
youApp.
DLL
的工程
动态
库
DLL
文件的
动态
调用
和静态
调用
参考百度百科和C++
调用
DLL
有两种方法—静态
调用
&
动态
调用
库文件一般指计算机上的一类文件,分两种,一种是静态库,另一种是
动态
库即
DLL
(Dynamic Link Library)文件,又叫
动态
链接库文件。静态库和
动态
库的区别是:静态库在程序的链接阶段被复制到了程序中;
动态
库在链接阶段没有被复制到程序中,而是程序在运行
时
由系统
动态
加载到内存中供程序
调用
。使用
动态
库的优点是系统只需载入一次
动态
库,不同的程序可以得到内存中相同的
动态
库的副本,因此节省了很多内存,而且使用
动态
库也便于模块化更新程序。 一
Unity
调用
dll
踩坑记
刚开始我们认为是
dll
本身的
问题
,但是经过测试发现
dll
本身没有
问题
,直接通过C#或者python
调用
dll
,返回的内存都是正确的。使用
debug
库之后,
调用
dll
时
,unity直接崩溃,而且是悄无声息的,就这么退出了,不带走一片云彩。
debug
模式的
dll
该如何释放内存,目前还没有解决,但是如果不释放,确实会导致内存占用上涨,但好歹在编辑模式下,暂且放过它吧。刚开始确实很正常,直到后来有一次升级了
dll
,替换了部分依赖的
dll
,然后就GG了,
dll
返回的内存和预想不同,某些字节顺序被打乱了。
其他技术讨论专区
476
社区成员
790,963
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章