DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 430 431 432 433 434 435 436 437 438 ··· 474 下一页

2012年12月28日

摘要: 一、调试基础调试快捷键F5: 开始调试Shift+F5: 停止调试F10: 调试到下一句,这里是单步跟踪 F11: 调试到下一句,跟进函数内部Shift+F11:从当前函数中跳出Ctrl+F10:调试到光标所在位置F9: 设置(取消)断点Alt+F9:高级断点设置跟踪调试1、尽量使用快捷键时行调试2、观察调试信息3、高级中断设置异常调试重试->取消->调试函数堆栈,用variables或者call stack 窗口Release调试1、经常测试你的Debug和Release版本2、不要移除调试代码,如用ASSERT, TRACE等。3、初始化变量,特别是全局变量,malloc的内存 阅读全文
posted @ 2012-12-28 17:50 DoubleLi 阅读(368) 评论(0) 推荐(0)

摘要: 转载请标明是引用于 http://blog.csdn.net/chenyujing1234欢迎大家拍砖!一、应用背景有一个在win7中用VS2008编译成功,运行正常的程序:Exe+DLL;放到XP虚拟镜像上运行却提示:LoadLibrary返回14001。(1) 后来采用了下面方法中的“方法一”解决了。(2) 但在方法一的基础上还要安装VS2008对应的分发包vcredist_x86.exe(VS2005的安装目录下提供了此文件,但在VS2008去不提供,但可到网上下载)。参考文章:http://hi.baidu.com/roger_long/item/867a7cf6fd8cf4cc521 阅读全文
posted @ 2012-12-28 17:29 DoubleLi 阅读(4531) 评论(0) 推荐(1)

摘要: 1.CDumpContext 该类没有基类。这个类支持面向流的诊断输出,以人能够阅读的文本。该类重载了<<操作符。afxDump是一个预声明的CDumpContext对象,可以方便使用。该对象只在MFC的Debug版中有效。可以将调式信息输出到调试输出窗口或调试终端。// example for afxDumpCPerson myPerson = new CPerson;// set some fields of the CPerson object...//..// now dump the contents#ifdef _DEBUGafxDump << " 阅读全文
posted @ 2012-12-28 17:06 DoubleLi 阅读(11693) 评论(0) 推荐(0)

摘要: 我们知道,MFC中可以调用宏TRACE等十分方便的输出调试信息到Visual Studio输出窗口,但C++中没人类似的函数,最近我在开发一个小程序时跟踪了一下MFC的TRACE宏,发现它映像了atltrace.h中的ATLTRACE宏,因些,我们也想在C++中使用TRace可以用如下方式:#include <atltrace.h>#define TRACE ATLTRACETRACE("");在C++中可以直接使用下面的函数OutputDebugString Function Sends a string to the debugger for display 阅读全文
posted @ 2012-12-28 16:38 DoubleLi 阅读(7989) 评论(0) 推荐(2)

摘要: 在win32程序中可以使用函数OutputDebugString输出调试信息。输出的结果可以在vs的集成环境中看到,也可以使用工具DbgView.exe捕捉结果。函数的原形如下:OutputDebugStringThe OutputDebugString function sends a string to the debugger for display.void OutputDebugString( LPCTSTR lpOutputString);ParameterslpOutputString [in] Pointer to the null-terminated string to b 阅读全文
posted @ 2012-12-28 15:37 DoubleLi 阅读(2241) 评论(0) 推荐(0)

2012年12月25日

摘要: 前言 在上篇Add-In运行机制解析(上)中,我分析了Add-In向导生成的代码,从中我们知道只要创建一个类库,它包含实现了IDTExtensibility2接口的类,然后为其建立.addin配置文件,就可以实现一个Add-In了。本文将更进一步,介绍Add-In的事件和生命周期,为今后的开发打下基础。Add-In的事件 Add-In是事件驱动的,可以猜到的事件有加载、卸载、状态改变等等。事实上,这些事件都与IDTExtensibility2接口有关,也就是该接口的5个方法: 如果要了解这些方法如何执行,一个办法是在这些方法中加一个MessageBox,然后通过Add-In Manager进行 阅读全文
posted @ 2012-12-25 09:30 DoubleLi 阅读(441) 评论(0) 推荐(0)

摘要: 前言 上一篇随笔Macro和Add-In初探介绍了如何开发两者的HelloWorld程序。没错,宏确实简单易行。不过在某些情况下,比如在商业软件中,宏在性能和知识产权方面可能会带来麻烦,此时那把更好的锤子是Add-In。在初探一文中,我介绍了如何使用Add-In向导来开发第一个Add-In。VS是一款很棒的开发工具,它的各种向导(以及其它模板、可视化工具等)做得非常好,不过我发现这一强大之处到头来反而给人诟病。其中一种说法是,这些方便的工具让初学者入门容易,并惯坏了他们,以致于想登堂入室就难得多了。客观地说,这不是VS的错,VS没有阻止你去了解这些工具的背后所在。这些工具会生成大量代码,我们需 阅读全文
posted @ 2012-12-25 09:27 DoubleLi 阅读(934) 评论(0) 推荐(0)

摘要: 前言 Visual Studio是微软最知名的产品之一,在使用微软技术的开发人员的心目中尤为如此。相信这一点无须多说。它建立在IDE(统一开发环境)的基础之上,可用于开发多种不同类型的应用程序。Visual Studio,通常被简称为VS(以下皆按此简称),支持多种平台和编程语言。了解VS的历史以及每个版本的更迭,对学习它的扩展性开发会很有好处。所以在这里简单地说说VS在过去的12年里的历史。VS的历史 在软件领域,VS的历史算比较长的了。在此期间,微软开发了数种编程语言和支持这些语言的可视化IDE,将其称为“Visual Studio”。当然,VS在12年间已经有了发生了很大的变化,不仅仅是 阅读全文
posted @ 2012-12-25 09:26 DoubleLi 阅读(499) 评论(0) 推荐(0)

摘要: 前言 在VS概览中,我们简单回顾了一下VS的历史。本文将通过两个简单的例子来说明Macro和Add-In的开发。通过Macro我们把VS中的一些重复操作录制下来,之后可以多次运行,节省时间并保持好的心情;通过Add-In,我们可以自己动手来为VS添加新的功能,扩展了VS就意味着扩展了我们自己。VS 2008扩展方式一览在上篇VS概览中提到了扩展VS有三种主要的方式:Macro、Add-In和VsPackage。事实上,还有更多的选择,这里先简单列一下:Macro Add-In VsPackage VS Shell Domain Specific Language Tool Visualizer 阅读全文
posted @ 2012-12-25 09:19 DoubleLi 阅读(430) 评论(0) 推荐(0)

2012年12月24日

摘要: 感谢曾发明同学1参照vc自带的sample.dsm生成文档yymacro.dsm;2编辑yymacro.dsm内容,添加如下三个宏:A)‘生成Doxygen样式的函数注释YYAddDoxygenFunctionDescription()对应注释为:/*** Func1 declaration* @param int a input1 a* @param int b input2 b* @see TestMe()* @return int*/对应按钮为:Ctrl+shift+fB)‘生成doxygen样式的公开变量的注释YYAddDoxygenValDescription ()对应注释为:/** 阅读全文
posted @ 2012-12-24 21:03 DoubleLi 阅读(616) 评论(0) 推荐(0)

上一页 1 ··· 430 431 432 433 434 435 436 437 438 ··· 474 下一页