解决VS2010 C++ DLL不能断点调试的问题

问题产生的过程是这样的,向exe项目(CSharp)中添加dll工程(c++开发)的引用,并将引用工程的属性“Link Library Dependencies”的值设为true,这样,在不加入lib的情况下,exe项目仍可以链接dll正常运行,但问题也出现了,在dll工程中设置 的断点会被无视。

解决方法:

一、DLL工程的设置

设置Configuration Properties->General->Output Directory的值为$(SolutionDir)\bin\$(Configuration)\

设置Configuration Properties->Linker->Debugging的值为$(SolutionDir)lib\$(Configuration)\$(ProjectName).pdb

设置Configuration Properties->Linker->Advanced的值为$(SolutionDir)lib\$(Configuration)\$(ProjectName).lib

二、exe工程的设置(C++的设置方法,C#的不做这一步)

将引用工程的属性“Link Library Dependencies”的值设为fasle。

设置Configuration Properties->Linker->General->Additional Library Directories的值设置为$(SolutionDir)lib\$(Configuration)\

在Configuration Properties->Linker->Input->Additional Dependencies中加入xxx.lib

三、开启断点功能

1. managed code的项目属性中debug页里,"Enable unmanaged code debugging"选上。

2. unmanaged code项目属性的debugging页里,Debugger Type设为Mixed。

时间: 2024-07-30 06:36:48

解决VS2010 C++ DLL不能断点调试的问题的相关文章

解决vs2010按ctrl+f5,调试窗口一闪而过的方法

vs2010调试按F5与按Ctrl+F5有什么区别 Ctrl F5测试运行后不自动推出控制台,直接按F5会自动退出去 解决vs2010按ctrl+f5,调试窗口一闪而过的方法 http://hi.baidu.com/hello_guan/item/c41603cd6f36cec7994aa0a1 打开一个解决方案 找到[解决方案资源管理器]窗口,右键项目名称-属性 在打开的窗口中选择 配置属性>链接器>系统>子系统中选择[控制台]即可,然后确定保存. 原文地址:https://www.c

dll断点调试方法

dll调试方法: 1.把最新生成的dll和pdb放到 启动这个dll 的进程目录下 2.启动这个进程 3.然后在dll 的项目中  调试选项->附加到进程->选择启动的这个进程 4.断点调试 非本进程dll错误处理方式: 0.把相关dll的pdb调试文件放到和的dll同目录 1.启动进程 2.找到调试->窗口->模块  (本进程所有相关的外部加载的dll)(找到出问题的dll) 3.在模块里面的符号状态一项 右键加载符号->选择相关pdb 4.调用调试信息直接查看错误代码

采用Reflector的VS.net插件断点调试无源码DLL 分类:

.Net的编程利器Reflector可以反编译基于.net开发的应用程序和DLL,其功能强大不用多说.今天想试验一把利用VS.net的插件断点调试外部无源码的DLL(只要是程序集都可以,所以exe也行)功能. 一.加载VS.net的Reflector插件 从官网下载的Reflector程序(最新版本为6.1.0)包中自带了VS.net的插件,名称为“RedGate.Reflector.Addin.dll”,打开Red Gate’s .Net Reflector程序,选择菜单Tools->Inte

解决Eclipse Debug 断点调试的source not found问题

写完代码进行调试的时候,经常会用到断点调试,一步步检测问题,但有时候eclipse有时候无法进入断点,这样就失去了断点的意义,原因是debug无法找到该项目的源代码,解决方法如下 1,打开debug Configurations 2,选择Maven Build下的相关项目,单击打开,然后选择source页面,(不要选择该页面下面的search for duplicate source files on the path ) 3,点击add按钮,选择project,选择你的项目,点击ok 原文地址

phpstorm 断点调试 傻瓜教程

前言: 简单介绍下为什么要用断点调试,很多人说我在代码调试的部位用var_dump 或者 exit 或者print_r来进行断点,但是当项目足够大的时候这样的做法就比较费时费力,因为你断点后需要删除原有的打印,很多时候我们自己也不知道在什么地方打印, 但是安装断点调试就可以解决这些问题,越用你会越来越喜欢它,闲话少说开干. 一.断点调试PHP的环境搭建 检测本地php环境是否安装了Xdebug 在本地输出phpinfo():搜索Xdebug;如下图 如果没有安装,安装操作Xdebug如下: 将p

js断点调试心得

虽然网上已经有多的数不清的调试教程了,但仍然没有发现哪篇文章写的通俗易懂,索性自己尝试写写自己的一些使用习惯或者说是心得,希望对那些还不是很懂得使用断点调试的孩子有一些帮助(大神请无视~). 1.断点调试是啥?难不难? 断点调试其实并不是多么复杂的一件事,简单的理解无外呼就是打开浏览器,打开sources找到js文件,在行号上点一下罢了.操作起来似乎很简单,其实很多人纠结的是,是在哪里打断点?(我们先看一个断点截图,以chrome浏览器的断点为例) 步骤记住没? 用chrome浏览器打开页面 →

iOS开发断点调试高级技巧

关于LLDB调试,很多iOS开发者可能就是停留在会下简单的断点,使用最多命令也就是po.无可厚非,这些简单的调试对于简单的问题来说应该是游刃有余.但是如果稍微复杂一些的问题,比如我之前遇到过友盟SDK里面的一个问题.我很想往里面下一个断点,可是对于.a的静态库来说,这根本不可能,最终还是我们组大牛使用命令的方式下了断点解决了这个问题.感觉这些知识很有必要,我于是把LLDB的基本调试命令都学习了一下,并在此与大家分享. 虽然博客很长,不过耐心看完,然后动手实践,一定会有很大帮助. breakpoi

断点调试

js断点调试心得 虽然网上已经有多的数不清的调试教程了,但仍然没有发现哪篇文章写的通俗易懂,索性自己尝试写写自己的一些使用习惯或者说是心得,希望对那些还不是很懂得使用断点调试的孩子有一些帮助(大神请无视~). 1.断点调试是啥?难不难? 断点调试其实并不是多么复杂的一件事,简单的理解无外呼就是打开浏览器,打开sources找到js文件,在行号上点一下罢了.操作起来似乎很简单,其实很多人纠结的是,是在哪里打断点?(我们先看一个断点截图,以chrome浏览器的断点为例) 步骤记住没? 用chrome

Eclipse替代ndk-gdb断点调试Android NDK程序

一 概述: Eclipse调试NDK程序的操作并不难,难的是环境的搭建.光是安装Eclipse就有不少问题,真是"大错不犯,小过不断"不胜期烦.在网上,已经有先行者记录下了Eclipse断点调试Android NDK程序的方法: <Eclipse + ADT(包括NDK Plugin) + CDT 搭建Android NDK开发环境>网址:http://blog.sina.com.cn/s/blog_48ed03c80101nhei.html 我遇到的情况与上文有些不同,上