编译、调试技巧
文章平均质量分 58
疯狂-的-蜗牛
https://github.com/JelinYao
展开
-
编译错误:named type definition in parentheses解决方案
今天用VC6编译7Z的SDK,报错一大堆:Compiling...7zFile.cF:\VC98\INCLUDE\rpcasync.h(45) : error C2220: warning treated as error - no object file generatedF:\VC98\INCLUDE\rpcasync.h(45) : warning C4115: '_RPC_ASY原创 2015-02-09 10:53:54 · 2215 阅读 · 0 评论 -
jQuery requires a window with a document异常解决方案
npm install -g jquery默认安装jquery时,版本是最新版2.1.0,这个版本没有包括jsdom,需要额外安装一个jsdom。安装jsdom:npm install -g jsdom然后这么使用:var jsdom = require(“jsdom”);$ = require(“jquery”)(jsdom.jsdom().createWindow())原创 2016-10-09 20:59:52 · 7176 阅读 · 0 评论 -
TortoiseSVN Clearup failed to process the following paths * is already locked.解决方法
更新SVN代码库时,由于有文件被占用导致更新失败,SVN会提示使用clearup命令清理,但是清理时一直出错,弹出下图窗口:也就是被锁定了,无论怎么清理都无法成功。解决方法:打开SVN数据库,删除锁操作即可。找到.svn目录下wc.db数据库文件(这个目录是隐藏的,需要在Windows文件夹选项中设置不隐藏才能看得到),安装打开SQLite数据库的软件打开。删除数据库锁(删原创 2016-08-03 09:38:29 · 2058 阅读 · 0 评论 -
the application was unable to start correctly(0x000007b)解决方案
遇到程序崩溃的一般解决步奏1、调试程序,定位到崩溃到码处。如果是系统代码处的问题,可以复制改行代码在百度上搜搜看;如果是你自己写的代码,那么我想改起来就更简单了。2、一般我们所遇到的程序崩溃问题网上一定是找得到的,尽量看看国外的链接,老外们说的还是比较靠谱的。看不懂英文的话,就用chrome浏览器翻译网页吧。回到正题,一朋友说他运行程序出现崩溃弹窗:the application原创 2015-05-23 12:19:04 · 39571 阅读 · 0 评论 -
fatal error C1047: The object or library file "..."was created with an older compiler than other obj
昨天用VS2005变异时遇到的这个问题,网上搜了一大堆,试了很多不见效。微软这货真是坑爹!终极解决方法:安装SP1升级包,去搜索:sp1-KB926601-X86-ENU吧。(我用的英文版VS2005,所以这里是英文版的),网上的其他的解决方法都是扯淡,浪费时间。还有种方法:升级VS,建议使用VS2008及以上版本。原创 2015-04-09 10:46:41 · 3408 阅读 · 1 评论 -
VS检测内存泄漏,定位泄漏代码位置方法
1、什么是内存泄漏?内存泄漏指的是在程序里动态申请的内存在使用完后,没有进行释放,导致这部分内存没有被系统回收,久而久之,可能导致程序内存不断增大,系统内存不足……引发一系列灾难性后果;(关于程序申请内存分配方式,详见:内存分配方式)2、零容忍排除内存泄漏对于程序的稳健型特别重要,尤其是程序需要长时间、稳定地运行时。C++这类动态内存申请释放都是由程序员控制的语言,稍不注意,很有可能就...原创 2015-01-13 11:13:03 · 34189 阅读 · 9 评论 -
test dword ptr [eax],eax ; probe page.调试中断解决方案
百度了一下, test dword ptr [eax],eax ;中断原因是:系统默认最大分配栈空间大小为1M。我的代码里面的却是,直接定义了一个4M的buffer,buffer是临时变量,因此在栈上面分配的,超过了默认的1M,因此每次调试都中断到那个位置。解决方案:1、修改VS的默认分配栈空间大小,项目属性---->配置属性---->链接器---->系统:堆栈保留大小,这里的单原创 2015-02-13 12:13:33 · 5495 阅读 · 0 评论 -
VS调试_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));崩溃原因及解决方法
今天下午对面的老大调试遇到这个问题,大家一起讨论好久才解决这个问题crt源代码都是可以看到的,为了了解清楚原因,十分有必要查看源码,源码一般在你的VS安装路径下VC\crt\src下。点击重试,定位到崩溃源码地方dbgdel.c的第52行。为了了解原因,我的测试代码是这样写的:int _tmain(int argc, _TCHAR* argv[]){ char* p原创 2015-01-22 18:23:53 · 20043 阅读 · 9 评论 -
VS调试程序_ASSERTE(_CrtIsValidHeapPointer(pUserData))崩溃的原因以及解决方法
调试程序,对动态申请的内存用free或者delete释放时程序崩溃,跳出如下对话框:点击重试,定位到具体的CRT源码部分:_ASSERTE(_CrtIsValidHeapPointer(pUserData));1、原因分析:查看CRT源码,一步一步看看里面都干了什么吧: _CrtIsValidHeapPointer----->_CrtIsValidPointer---->Hea原创 2015-01-22 17:53:49 · 20167 阅读 · 3 评论 -
分享个INNO打包Windows应用程序完整实例脚本
最近手贱,把以前写的一个完整的INNO打包脚本给删了,于是又得到处找资料学习。现在分享一个完整的脚本代码,以后就不会找不到了。脚本为完整diamante,包括了这些基本的功能:写注册表、检测程序是否正在运行、调用exe、配置生成文件相关属性等。; 脚本由 Inno Setup 脚本向导 生成!; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!#define MyApp原创 2015-02-09 18:14:26 · 3722 阅读 · 0 评论 -
VS编译错误:“到内置类型的函数样式转换只能接受一个参数”解决方案
调用DLL中的函数,按着基本的步骤来写的最后编译时,报错“到内置类型的函数样式转换只能接受一个参数”,网上搜了下,也没有看到有用的解决方案。我的代码是这样的,调用LZMA的压缩函数,压缩文件:HMODULE hModule = LoadLibrary(L"LZMA.dll"); if ( NULL == hModule ) { cout<<"没有找到LZMA.dll"<<endl;原创 2015-02-09 12:17:46 · 3863 阅读 · 1 评论 -
error C2275 将此类型用作表达式非法
原文转载自:http://blog.csdn.net/lqk1985/article/details/7389159,感谢作者。C2275: “size_t”: 将此类型用作表达式非法,同时还导致一堆变量未定义的bug。将LuaXml从lua5.1移植到5.2的时候,使用VS2010编译LuaXml_lib.dll的时候碰到了这个错误,然而使用GCC能编译成功。转载 2016-10-18 21:12:21 · 6204 阅读 · 0 评论