- 博客(26)
- 资源 (9)
- 收藏
- 关注
转载 调试器的威力
2008年的SD大会,在“语言与工具”专场,邀请到来自Intel的张银奎先生,将做主题为“感受和思考调试器的威力”的讲座。本刊记者就调试话题做了专访,下面为采访内容。记者:《程序员》早期的特别策划中,有人讲调试是程序员的一个基本功,您有什么观点?张银奎:调试是大多数程序员几乎每天都面对的任务。调试能力是程序员的一项基本功。调试效率的高低直接关系到程序员的工作效率,甚至决定着软件项目的成败。
2010-05-26 14:38:00 981
转载 _stdcall _cdecl _pascal _fastcall这些关键字是什么意思,有什么区别呢?
_stdcall _cdecl _pascal _fastcall这些关键字是什么意思,有什么区别呢? 首先看MSDN里给出的解释,不过有些语焉不详哦WINAPI ·Use in place of FAR PASCAL in API declarations. If you are writing a DLL with exported API entry points, you
2010-05-26 13:12:00 1525 1
转载 You and Your Research
The title of my talk is, ``You and Your Research. It is not about managing research, it is about how you individually do your research. I could give a talk on the other subject-- but its not, its
2010-05-26 12:59:00 1087
转载 我们应该做什么样的研究
为什么有人著作等身,有人“憋”不出paper?新手上路,在浩如烟海的研究题目中,如何选择?在微软亚洲研究院又一个“星期五讲座”中,在语音和模式识别领域耕耘了25载的霍强老师就实习生们关心的以上问题,基于自己多年从事研究和教育工作的经验,进行了颇有裨益的分享。下面让我们一起来听听霍老师向实习生们讲述的治学经验和心路历程吧。 如何发Paper?——研究的四种类型和三个衡量标准 问题一:
2010-05-26 12:54:00 915
转载 Umdhtools.exe: How to Use Umdh.exe to Find Memory Leaks
SUMMARYThe user-mode dump heap (UMDH) utility works with the operating system to analyze Windows heap allocations for a specific process. This utility, and the other tools associated with it, are
2010-05-26 11:49:00 2096
转载 调试之剑:从堆里抢救丢失的博客文章
文/张银奎 很多使用计算机的人都曾经遇到过丢失数据的尴尬。记得我读大学时,很多文字编辑软件还没有自动存盘功能,而且寝室里偶尔会因为用电超过负荷而跳闸停电。每次断电时,如果赶上有人在电脑前写代码或者编辑文字,那么常常听到那位先生狠狠一跺脚(或者使劲一拍大腿),然后痛叫一声“唉呀,还有东西没存盘呢!”。因为输入的内容是临时保存在内存中的,如果忘记存盘或者在存盘前电脑死机或者突然断电,那么辛
2010-05-26 11:39:00 1126
原创 umdh使用
C:/WinDDK/7600.16385.1/Debuggers>gflags.exe /i c:/awdbin/09BasicMLeak.exe +ustCurrent Registry Settings for 09BasicMLeak.exe executable are: 00001000 ust - Create user mode stack trace databaseC:
2010-05-25 16:23:00 1378
转载 给你的模块设防
给你的模块设防我们设计任何一个模块,都应当对其实现细节尽可能的隐藏。只留下有限的入口和外部通讯。这些入口如何定义是重中之重。大多数情况下,我们都在模仿已有的系统来设计,所以对貌似理所当然的接口定义不以为然,以为天生就应该是那样,而把过多精力放在了如何做更好(更优化)的实现上。对接口设计方面缺乏深度的思考,使得在面对新领域时,或是随心所欲,或是不知所措。即使是有成熟设计的模块,用户依
2010-05-24 14:19:00 904
转载 理解Vista进程管理器的内存指标
Vista进程管理器比XP的复杂,术语也专业,有必要弄清楚。在XP的进程管理器中,主要看Memory Usage和Virtual Memory Size两个。前者是物理内存的占用量,后者是物理内存+页面文件的总量。这个描述并不准确,但容易理解。在Vista中,Memory Usage变为Working Set,Virtual Memory Size变为Commit Size。Vista的描述显然更
2010-05-23 10:25:00 1096
转载 Windows服务器安全利器:Sysinternals工具
【TechTarget中国原创】一些企业使用的Windows服务器管理工具的缺乏让我经常感到惊讶。很多我合作过的管理员只是使用Windows服务器内置的工具。 这很有可能产生一种副作用,IT专员处于“总是在灭火”的操作模式。但这并不意味着无计可施。 很多选择可以用于帮助简化和增强Windows服务器管理任务。特别地,我历来最喜欢的工具集之一就是Windows Sysinte
2010-05-22 11:51:00 991
转载 Linux内存映射深入分析
1)虚拟内存的解释:虚拟内存的核心概念是指代码所用的内存地址与物理地址没有关系.在用户空间中,一个进程的虚拟地址A指向不同的物理内存,而不是另一个进程的地址A.任何时候CPU发送指令向内存存取数据时,通过软件将虚拟地址的数据变为物理地址.将虚拟地址变为物理地址变为物理地址的工作是由内存管理单元(MMU)完成的.虚拟内存地址也可以称为逻辑地址. 2)内存管理单元:内存管理单元是CPU
2010-05-21 14:05:00 2258
转载 甲骨文宣布收购数据库防火墙厂商Secerno
腾讯科技讯(编译/林靖东)北京时间5月21日消息,据国外媒体报道,甲骨文周四宣布,它已经收购了数据库防火墙厂商Secerno,目的是帮助客户更好地保证数据库的安全。Secerno的DataWall防火墙产品同时支持甲骨文和其他厂商的数据库产品,它可以对数据库的访问进行分析,允许数据库管理员设置相关政策来控制对数据库的访问。据Secerno称,这款防火墙产品具有实时监控功能,可以检测出对
2010-05-21 09:46:00 723
转载 Windbg 分析 Dump File 简单演示
使用 Windbg 调试 Dump 文件是一种常用的手法,不同于 Attach Process,这种方式允许我们 "离线" 完成调试工作。Dump 文件保存了目标进程某个时间点的内存及相关程序信息镜像。本文只是一个简单的调试过程演示,更多细节可参考 Windbg 及 SOS.dll 的相关帮助。class Program{ private List list = new List(); v
2010-05-20 17:58:00 1568
转载 Processes and Threads on Wiindows NT
Processes and Threads on Wiindows NT Every Windows process is represented by an executive process block (EPROCESS) inkernel-mode EPROCESS points to a number of related data structures; for exa
2010-05-20 09:27:00 625
原创 What is the working set, commit, and private working set memory size?
The working set is the amount of physical memory (RAM) that a process is currently consuming. The commit size (aka commit charge) is the total amount of virtual memory, excluding certain special types
2010-05-19 13:50:00 2147
转载 WinDbg / SOS
Starting, Attaching, Executing and Exiting Start -> All Programs -> Debugging Tools for Windows -> WinDbgF6attach to processCtrl-Breakinterrupt debugee
2010-05-18 22:48:00 1302
转载 Debug Tutorial
Debug Tutorial Part 1: Beginning Debugging Using CDB and NTSD Debug Tutorial Part 2: The StackDebug Tutorial Part 3: The Heap Debug Tutorial Part 4: Writing WINDBG Extensions Debug Tutorial Part 5: Ha
2010-05-18 18:13:00 822
转载 WINDBG使用教程
什么是WinDBG? WinDbg是微软开发的免费源码级调试工具。下载地址为:http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx. Windbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。由于大部分程序员不需要做Kernel模式调试, 我在这篇文章中不会介绍Kernel模式调试。Kernel模式
2010-05-18 18:04:00 18727
转载 ChangeServiceConfig2设置SERVICE_CONFIG_FAILURE_ACTIONS
SERVICE_FAILURE_ACTIONS sdBuf={0}; BOOL bSuccess=TRUE; if (argc!=2) { return 1; } // Open a handle to the service. SC_HANDLE sch=OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS); if (sch==NULL)
2010-05-17 11:20:00 4309
原创 windows symbols
SRV*c:/symbols*http://msdl.microsoft.com/download/symbols
2010-05-13 23:25:00 1281
转载 《Linxu内核修炼之道》转载之前言
《Linux内核修炼之道》本是fudan_abc发表在自己博客上的系列文章,因点击率的不断提升,得到出版社的青睐。曾经读过部分内容,觉得有趣通俗,出版社希望就此写几句推荐语,也就把自己的感受写出: “ “修炼”需要一个场景,如果是一马平川,十年修炼也只是耗费时间而已。如果你有幸踏入Linux内核的修炼场,本书风趣贴心的表达方式,独具匠心的引领地图,无疑让你在修炼的路途中,少走弯路并多份坚持
2010-05-13 11:22:00 534
转载 Win6.x(Vista、7)对内存管理使用了新技术——SuperFetch
Win6.x(Vista、7)对内存管理使用了新技术——SuperFetch,微软认为空闲的内存就等于浪费,所以将磁盘上面常用的程序代码预先载入内存的区域,如果收到指令启动这个程序的时候就直接使用内存的数据库,而不必再到磁盘上读取数据,所以你能发现当某个程序启动过一次之后,下一次启动的速度将会很快,就是这个原因了。其中你在资源监视器中看到的5个状态中的“备用”状态则是用来存放SuperFetch缓
2010-05-13 10:16:00 1039
转载 try/catch的实现原理
1. VC++的try/catch是基于Win32的SEH实现的。2. try/catch只能捕捉当前线程的异常,每个线程都有自己的异常处理入口。3. 异常处理入口是由OS负责调用的,在异常发生时。4. 为了使用SEH,VC++编译器自动生成了很多的代码。 MSDN上关于SEH的经典文章A Crash Course on the Depths of Win32™ St
2010-05-11 16:50:00 1468
原创 栈是线程安全的
栈只是操作系统为线程分配的一块内存。栈的作用是记录函数调用链(包括局部变量的分配、参数传递)。栈:是个线程独有的,保存其运行状态和局部自动变量的。栈在线程开始的时候初始化,每个线程的栈互相独立,因此,栈是 thread safe的。每个C ++对象的数据成员也存在在栈中,每个函数都有自己的栈,栈被用来在函数之间传递参数。操作系统在切换线程的时候会自动的切换栈,就是切换 SS/ESP寄存器。
2010-05-09 22:48:00 3279
转载 Nintex
Monitor, audit, and gain valuable insight from the content and activity information within Microsoft SharePoint.
2010-05-08 22:14:00 1021
转载 windbg
记得几年前我们公司对一款核心产品进行升级,测试人员发现了一个会导致整个程序崩溃的BUG。这个BUG在程序的运行过程中随机出现,很难重现。更为棘手的是,当开发人员用VC以调试模式运行该程序,BUG就再也不重现了。根据以往的经验,这种情况多和多线程处理导致缓冲区非法操作有关,调试器引起的“海森堡效应”则会导致程序在这种情况下可能无法重现BUG。开发人员之前常用的LOG定位法在多线程程序中也显得力不从心
2010-05-07 11:56:00 553
[图解TCPIP(第5版)
2015-05-26
jquery-1.11.3
2015-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人