Category Archives: Windows programming tips

HOWTO Make Windows SlimRW Lock More Confortable

Recently I tripped into SlimRW Lock API. It’s a Windows synchronization object very similar to critical section, with the support of two different type of lock: shared and exclusive. Essentially you should get shared lock for all read-only activities, while the exclusive lock shall be used for all the other cases. The Basic Implementation I wrote this simple class to include them in my program: … Continue reading HOWTO Make Windows SlimRW Lock More Confortable »

HOWTO Automatically Catch Problems While Debugging

Suppose to have the ability to add dozens of breakpoints into your program main error detection points, whenever you start a debugging session. This should allow you to easily track down some hidden/unnoticed problem. For example, suppose to have a C function like the below one: __MYOBJECTDATA * WINAPI MYOBJGetPtr (HANDLE hMyObject) { __MYOBJECTDATA *pObj; pObj = (__MYOBJECTDATA *) hMyObject; __try { if ((pObj != … Continue reading HOWTO Automatically Catch Problems While Debugging »

Visual Studio 2017 remote debugger

Suppose to have a problem in your program occurring only a specific PC. You can study it by: installing a copy of your VS2017 in that PC. copy VS2017 Remote Debugger console Naturally the second way is simplier and more efficient, since you have to copy a folder. You can find it, in the following path: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Remote Debugger or (into 32 … Continue reading Visual Studio 2017 remote debugger »

About Letting Your Program Die in Peace

requirement: medium knowledge of C/C++ or similar languages under MS Windows. One of the problem of writing a problem are the coding errors. There are many types of errors but the worst ones are those that trigger a Chernobyl reactor like effect. Something wrong occurs during the program execution, and instead of dying peacefully, it loses any control multiplying the magnitude of the event. Although … Continue reading About Letting Your Program Die in Peace »

About Using & Designing DLLs

requirement: medium knowledge of C/C++ or similar languages under MS Windows. Introduction Some days ago, I was explaining how a .DLL works, and how to use them in programs written into C or C++. Supposing to have MYAPP.EXE and MYLIB.DLL, we will face the following main scenarios: scenario MYAPP.EXE MYLIB.DLL 1 The program uses MYLIB.DLL. The used functions are all exported. 2 The program uses … Continue reading About Using & Designing DLLs »