2009-07-10 09:38
Introduction
Memory leak is a time consuming bug often created by C++ developers. Detection of memory leaks is often tedious. Things get worst if the code is not written by you, or if the code base is quite huge.
Though there are tools available in the market that will help you in memory leak detection, most of these tools are not free. I found Windbg as a freeware powerful tool to solve memory leak bugs. At least, we get an idea about the code location |
2009-05-06 14:59
本文摘自( www.newsmth.net/bbsanc.php)
在前面的章节中,我们已经了解了寄存器的基本使用方法。而正如结尾提到的那样,仅
仅使用寄存器做一点运算是没有什么太大意义的,毕竟它们不能保存太多的数据,因此
,对编程人员而言,他肯定迫切地希望访问内存,以保存更多的数据。
我将分别介绍如何在保护模式和实模式操作内存,然而在此之前,我们先熟悉一下这两
种模式中内 |
2009-05-05 15:18
★★ 前言
本篇文章以linux为平台为例,演示ELF动态解析符号的过程。
不正之处,还请斧正。
通常,ELF解析符号方式称为lazy MODE装载的。这种装载技术是ELF平台上
默认的方式。在不同的体系平台在实现这种机制也是不同的。但是i386和SPARC
在大部分上是相同的。
动态连接器(rtld)提供符号的动态连接,装载共享objects和解析标号的引用。
通常是ld.so,它可以是一个共享object也可以是个可执行的文件。
★★ 符号表(symbol table)
每个object要想使它对其他的ELF文件可用,就 |
2009-04-28 18:20
大家都知道C++中的虚函数的实现一般是通过虚函数表(C++规范并没有规定具体用哪种方法,但大部分的编译器厂商都选择此方法),下面通过虚函数表来看看C++中虚函数的实现
class A
{
public:
int ai;
virtual void func(){cout<<"A-func"<<endl;}
};
class AA:public A
{
public:
|
2009-04-17 16:51
TFTP:简单文件传输协议(Trivial File Transfer Protocol)
简单文件传输协议是一 种用来传输文件的简单协议,运行在 UDP(用户数据报协议)上。TFTP 的被设计为小而简单容易的运行,因此,它缺乏标准 FTP 协议的许多特征。TFTP 只能从远程服务器上读、写文件(邮件)或者读、写文件传送给远程服务器。它不能列出目录并且当前不提供用户认证。
当前 TFTP 有 3 种传输模式:netASC11 模式即 8 位 ASC11;八位组模式(替代了以前版本的二进制模式),如原始八位字节;邮件模式,在这种模式中,传输给用户的不是文 |
2009-04-17 15:44
DHCP 是 Dynamic Host Configuration Protocol(动态主机分配协议)缩写,它的前身是 BOOTP。BOOTP 原本是用于无磁盘主机连接的网络上面的:网络主机使用 BOOT ROM 而不是磁盘起动并连接上网络,BOOTP 则可以自动地 为那些主机设定 TCP/IP 环境。但 BOOTP 有一个缺点:您在设定前须事先获得客户端的硬件地址,而且,与 I |
2009-03-28 16:20
本文转自( www.debuginfo.com/articles/easywindbg2.html#crashdumpanalysis)
这篇文章简洁的讲述了windbg的基本使用和分析.
When debugging a problem that is not easy to reproduce, I sometimes want to make a snapshot of the application's state (memory contents, the list of open handles, and so on) and save it in a file for further analysis. |
2009-03-05 13:54
IOCTL_DISK_PERFORMANCE只有在打开perfmon.msc的时候才可以获取到数据。否则提示的错误是31。
示例代码如下:
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE hIndexFileHandle = CreateFile ("\\\\.\\physicaldrive0",GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (INVALID_HANDLE_VALUE == hIndexFileHandle)
{
|
2009-03-04 09:55
Visual C++ 2005 CRT library tends to call Dr.Watson directly in some emergency cases, ignoring user-defined unhandled exception filter. We need an ability to configure this behavior.
Rationale
When any of CRT invariants are violated (invalid arguments passed, buffer overrun detected, etc.) CRT needs to report somehow about that violation. VC++ 2005 uses the follow |
2009-02-10 09:04
本文摘自( support.microsoft.com/kb/156932)
Microsoft Windows NT、 Windows 2000 和 Windows XP 上的文件 I / O 可以是同步还是异步。 I / O 的默认行为是同步: 一个 I / O 函数调用,并返回 I / O 完成时。 异步 I / O 另一方面,允许一个 I / O 函数立即,返回返回给调用方的执行,但 I / O 不则认为某些将来之前已完成。 当 I / O 完成时,操作系统将通知调用方。 或者,调用方可以确定使用操作系统的服务的未完成的 I / O 操作的状态。
异 |
|
|
justin_wu2010
男, 30岁
浙江 杭州
上次登录: 1天前
加为好友
|