摘要:
NT kernel structures(xp_sp3)The following source code can be very useful when you are debuging kernel & user objects under either ring0 or ring3 within Windows XP sp3. (note: you'd better verify it using dt -b !ntXXX within windbg)To use it, pleasecopy the following codeto a header file, nam 阅读全文
摘要:
There are many reasons why sometimes you'd like to run some code before, or after, the main function of a program or DLL (main, WinMain, and DllMain are equivalent for this article, so I will generalize them as "the main function" from now on). This is not as simple in C as it is in C+ 阅读全文
摘要:
Memory leak detector(C++)This is a simple solution for memory leak detector.For any C++ software source under windows, please follow these steps: 1. You need to put MemoryTracker.h and MemoryAllocateTracker.h into include folder, and force all *.cpp file to include MemoryTracker.h first(when using M 阅读全文
摘要:
SOLID 软件设计原则InitialStands for (acronym)ConceptSSRPSingle responsibility principle The notion that an object should have only a single responsibility. OOCPOpen/closed principle The notion that “software entities … should be open for extension, but closed for modification”. LLSPLiskov substitution pri 阅读全文
摘要:
NT kernel resourceshttp://www.alex-ionescu.com/http://doxygen.reactos.org/http://www.alex-ionescu.com/wloo-talk.pdfIntroduction to NT Internals.pdfhttp://www.openrce.org/http://www.osronline.comNT kernel resource linkshttp://msdn.microsoft.com/en-us/magazine/default.aspxhttp://www.nondot.org/sabre/o 阅读全文
摘要:
If you write “int i;” in C++, i’s type seems obvious: int. If you write “const int i;”, i’s type seems equally obviously to be const int. Often, these types are exactly what they seem to be, but sometimes they’re not. Under certain circumstances, C++ treats non-const types as const, and under others 阅读全文
摘要:
Let's say that your program has a shared log file object. The log file is likely to be a popular object; lots of different threads must be able to write to the file; and to avoid corruption, we need to ensure that only one thread may be writing to the file at any given time.Quick: How would you 阅读全文
摘要:
What Every Programmer Should Know About Memorywww.akkadia.org/drepper/cpumemory.pdf 6 What Programmers Can DoAfter the descriptions in the previous sections it is clear that there are many, many opportunities for programmers to influence a program's performance, positively or negatively. And thi 阅读全文
摘要:
C++ 0x standard [2011 draft]2011 Proposed Draft Technical Report on C++ Library ExtensionsC++0x FAQ C++0x Core Language Features In VC10Part1: Lambdas, auto, and static_assertThe Visual C++ compiler in the Microsoft Visual Studio 2010 September Community Technology Preview (CTP) contains support for 阅读全文
摘要:
SOS Debugging Extension (SOS.dll)·.NET Framework 4 ·.NET Framework 3.5 The SOS Debugging Extension (SOS.dll) helps you debug managed programs in the WinDbg.exe debugger and in Visual Studio by providing information about the internal common language runtime (CLR) environment. ![command] [o 阅读全文
摘要:
Inside NT's Asynchronous Procedure CallBy Albert Almeida, November 01, 2002Asynchronous Procedure Calls (APCs) are a fundamental building block in NT's asynchronous processing architecture. Learn how NT processes APCs and documents the exported NT functions available to device driver 阅读全文
摘要:
Reversing Microsoft Visual C++ Part I: Exception HandlingAbstractMicrosoft Visual C++ is the most widely used compiler for Win32 so it is important for the Win32 reverser to be familiar with its inner working. Being able to recognize the compiler-generated glue code helps to quickly concentrate on t 阅读全文
摘要:
Debugging Memory Related Issues in .Net ApplicationUsing WinDBG and SOSContentsIntroduction What Do I Mean By Bad Shaped Application? Why WinDBG + SOS? Things to Understand Before Using WinDBG and SOS What is WinDBG? What Can WinDBG Do? What is SOS.dll (Son of Strike)? Debugging Essentials How to Co 阅读全文
摘要:
Garbage Collection: Automatic Memory Management in the Microsoft .NET FrameworkJeffrey RichterLevel of Difficulty 1 2 3 SUMMARY Garbage collection in the Microsoft .NET common language runtime environment completely absolves the developer from tracking memory usage and knowing when to free memory. H 阅读全文
摘要:
High level overviewThe class diagram shows the Root class of OGRE and all of the Manager classes that gives access to the different subsystems. The Root holds a reference to the current SceneManager and to an enumerator that allows other types of scene graphs to be loaded. The RenderSystem is an abs 阅读全文
摘要:
A breakpoint is a mechanism to pause a program execution for further analysis during runtime to identify run-time errors. Pausing is required to examine the run-time values of variables. Examining these variables is possible only if they are valid in the current context. Various options will be prov 阅读全文