永发信息网

如何调试带有源代码的dll文件

答案:2  悬赏:0  手机版
解决时间 2021-02-26 00:33
如何调试带有源代码的dll文件
最佳答案
运行库组件
你可以在腾讯电脑管家的电脑诊断中找到软件问题,选择丢失VC++组件,点击立即修复。

在工具箱,打开电脑诊所,丢失.Dll 文件,进行一键修复
全部回答
第一步,调试的准备。 用c#语言编写一个测试dll文件的程序,由于dll源程序是c的,且运行结果是黑屏的,所以c#代码也是运行在黑屏的console环境下。完整代码如下。 using system; using system.collections.generic; using system.linq; using system.text; using system.runtime.interopservices; namespace testmelp{class program{[dllimport(@d:\visual studio projects\filemelp\debug\filemelp.dll, charset = charset.ansi, callingconvention = callingconvention.cdecl)] extern static void cmd_melp(int argc, string[] argv); static void main(string[] args){//string cmd = melp -s -i d:/bin/bit -o d:/bin/output; string cmd = melp -a -i d:/bin/inputd -o d:/bin/bitright; string[] argv = cmd.split(new char[] { ' ' }); int argc = argv.length; cmd_melp(argc, argv);}}}由于调试的filemelp.dll文件和本程序不在同一个文件夹下,容易出现文件地址问题,所以本测试程序的文件均采用绝对地址。另外cmd的格式要求不能有两个连续的空格,也可以通过使用trim函数,解决这个问题。 第二步,定位到自己改写的带有源代码的dll工程。 本文的filemelp.dll工程,是通过本空间的生成vs dll那篇博客生成的,具体实现方法不在赘述。下面的两段代码分别添加到filemelp工程melp.h和melp.c文件最下面。 #ifndef lib_h #define lib_h extern _declspec(dllexport) void cmd_melp(int argc, char **argv); #endifvoid cmd_melp(int argc, char **argv){main(argc,argv);}按f6,上述步骤实现filemelp.dll动态库的生成。 第三步,添加测试程序到dll源代码处。 在filemelp工程里面,右击filemelp工程,选择属性。 或者按alt+enter,弹出如下界面。 在configuration properties\debugging\command选择第一步生成的测试.exe文件。这样完成了调试前的准备。接下来,在需要调试的代码地方,添加断点。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么傻傻的人一旦受了打击就会变得聪明?
【在橡胶大底中,每增加一份胶粉,橡胶的硬度增
英语老师怎么称呼
紫金旅行社上杭分社地址在什么地方,想过去办
亚麻色自己在家能染出来么
干快递工作的有时候会赔钱吗?
唐磊的丁香花的MV讲的是什么故事
【特别想念一个人的句子】我很想一个人用什么
中国邮政三农服务站(红旗村卫生站西)我想知道
纬度怎么计算
湖北大悟到随州客车最早几点发车
手机还有几个g内存呢,怎么安装200M以上大小
简·约造型在哪里啊,我有事要去这个地方
味蕾华发商都店我想知道这个在什么地方
美的空调拆卸步骤是怎样的
推荐资讯
求仙逆完整版,无错字漏字漏章完整版
怎么判断点在半个椭圆内
个人还款计划书怎么写
怎么跟一个我喜欢的但不是我女朋友的女生过情
变频空调如何制热
父母一般最喜欢自己的儿子送什么礼物最好,刚
双的繁体字怎么写好看
花水湾艾美达酒店是几星级
小龙女水族馆地址在什么地方,想过去办事
上海景诚拍卖有限公司在哪里啊,我有事要去这
请问你们有谁知道harman kardon AVR25二 怎么
公司名称寓意
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?