08 2013 档案
摘要:多人协作开发一个项目时,版本控制工具是少不了的,git是linux 内核开发时引入的一个优秀代码管理工具,利用它能很好使团队协作完成一个项目。为了规范团队的代码提交,也方便出版本时的release note,更为了出问题时方便代码回溯,所以大家统一用一个模板提交代码是必要的。Git中设置template非常简单,只需以下几步即可:1、在根目录建立模板文件如 xxx_template文件,其内容如下:Function Or Bug:Symptom:Root Cause:Solution:Project:Note:2、设置模板,命令如下git config commit.template [模板.
阅读全文
摘要:今天,有朋友在问为什么我在调试的时候会出现"没有可用于当前位置的源代码"的错误呢?MSDN上的说法:没有可用于当前位置的源代码,项目不包含您试图查看代码的源代码。原因通常是双击了“调用堆栈”窗口或“线程”窗口中没有源代码的模块。可以继续调试,但不能使用源代码窗口设置断点并在此位置执行其他操作。如果需要设置断点,请使用“反汇编”窗口。编辑经验,出现该错误就有可能是下面中的一种,读者可以一一试试:1. 在项目中引用另一个项目,而修改了被引用项目的代码后,引用的dll没有更新,所以出现上述错误。2. 试图调试托管代码的转储文件。VisualStudio仅支持使用SOS工具,在“即
阅读全文
摘要:http://blog.csdn.net/suhuaiqiang_janlay/article/details/6004909什么是托管代码? 托管代码是一microsoft的中间语言,他主要的作用是在.NET FRAMEWORK的CLR执行代码前去编译源代码,也就是说托管代码充当着翻译的作用,源代码在运行时分为两个阶段: 1.源代码编译为托管代码,(所以源代码可以有很多种,如VB,C#,J#)2.托管代码编译为microsoft的平台专用语言。编译器把代码编译成中间语言(IL),而不是能直接在你的电脑上运行的机器码。中间语言被封装在一个叫程序集(assembly)的文件中,程序集中包含了描述
阅读全文
摘要:对C/C++程序员来说,内存管理是个不小的挑战,绝对值得慎之又慎,否则让由上万行代码构成的模块跑起来后才出现内存崩溃,是很让人痛苦的。因为崩溃的位置在时间和空间上,通常是在距真正的错误源一段距离之后才表现出来。前几天线上模块因堆内存写越界1个字节引起各种诡异崩溃,定位问题过程中的折腾仍历历在目,今天读到《深入理解计算机系统》第9章-虚拟存储器,发现书中总结了C程序中常见的内存操作有关的10种典型编程错误,总结的比较全面。故作为笔记,记录于此。http://blog.csdn.net/slvher/article/details/91505971. 间接引用无效指针 进程虚拟地址空间的某些...
阅读全文
摘要:测试创建和打开文件映射的时候老是得到"句柄无效"的错误, 仔细看了MSDN以后才发觉是函数认识不透, 这里把相关的解释翻译出来1 HANDLE CreateFileMapping(2 HANDLE hFile, //物理文件句柄3 LPSECURITY_ATTRIBUTES lpAttributes, //安全设置4 DWORD flProtect, //保护设置5 DWORD dwMaximumSizeHigh, //高位文件大小6 DWORD dwMaximumSizeLow, ...
阅读全文