Tags Arabic, Arabic Keyboard, CMIC, Franco-Arabic, Microsoft
Visual studio debugger tools (including Spy++ & Remote Debugger) are great, but we always need to go beyond visual studio capabilities and that's when debugging tools are really useful.
I am writing this post for mainly two reasons, The first one is to share some of my favourite debugging tools that are powerful to use & know about; The second one is actually for documentation purposes to act as a guide/reference for me & others who search for a debugging tool that help in doing a specific task.
Below are some tools I used them myself & found them really useful and neat to use:
1- DebugView for Windows, This tool tracks any OutputDebugString/ DbgPrint and displays it without the need for a debugger.
I see this tool is idle when quick debugging is needed on a clean machine (with no visual studio installed), no process attaching required .. etc
2- SysInternals Tools are indeed so powerful tools and I guess you will always find what you are looking for there (that's why microsoft acquired it ;) ). I tried WinDbg one -for commands lovers- , Process Explorer & Process monitor.
3- Auto Debug for Windows , a tool for APIs monitoring & tracing, maybe it has other features, but this was what I was interested in mainly.. the bad news is that it is not a free tool, however the good news is that it doesn't block you when you run the trial.
4- Dependency Walker , not a real debugging tool, but you will probably need it when things not work due to missing files/modules, it just does what it says & sometimes that's all what you want !
That's all for now, everybody is welcomed to share his favorite ones too.
Tags Debugging, Development, Tools, Windows
Hello everybody,
Well, I just want to mention a small trick that many may already know, but many may not.. It's about copying & pasting the text that appears in a MessageBox, many times that is needed during development, but yet it is not documented in msdn or any other Microsoft resource..
The thing is that you can indeed copy text in a message box using simply (Ctr+C) and then pasting the copied text in any editor (Ctr+V), and it ends up having sth like that..

---------------------------
Caption
---------------------------
Text
---------------------------
OK
---------------------------
I can imagine that this feature was made out of a dev's passion :) .. anyway, It is really a useful thing to know.. Happy development !!
Tags Development, MessageBox
The least we can do is prayers & trying to spread what Israel is truly doing in Gaza..
Sameh, a Palestinian 23 years old blogging from inside Gaza..
Allah be with them..
Long time no posts..
Anyway, I'm here now to share that website with you..
It just saves the time u take to write or modify a connection string to any data source..
Tags Connection String
I decided to make that survey in order to see people's different opinions, The survey is about things you wish you leanred at college & that are related with the market or your career.
so I want everyone to tell me 5 things or more, he wished he learned at college before he starts working OR things he self-learnt by himself and he thinks that they are important for others to learn. (including technical (maybe certain technology), non-technical things)
Waiting for your comments..
Tags Survey
A friend of mine came through a problem while dealing with Bitmaps after writing some code that should open an image.. do some operations & finally save it in the same path. (overwrite the old copy)... the code looked as follows :
Bitmap bmp = new Bitmap(@"C:\Pic.jpg");
..
//Do some Operations on bmp
..
btm.Save(@"C:\Pic.jpg");
An Exceptions is then fired on the bmp.Save(..) statement "A generic error occurred in GDI+"
At the first look, it seemed strange to see the exception esp the "Save" method should handle the overwriting process..
Yet, here was the mistake.. After creating the first bitmap from the image file, a lock has been done on the file in the memory, & then later, we are trying to save the bitmap in the same file (which is currently locked) & that's why we get that exception.
It will work in case you wanted to save in different paths, but not in case of overwriting..
so the suggested solutions was to create a copy from that bitmap, make the operations on that copy.. then dispose the bmp object (to release the lock) & later on save it (using the copy).. the new code should look as follows :
Bitmap bmp = new Bitmap(@"C:\Pic.jpg");
Bitmap copy = new Bitmap(bmp.Width, bmp.Height);
Graphics g = Graphics.FromImage(copy);
g.DrawImage(bmp, new Point(0, 0));
..
//Do some Operations on copy
..
//release the image file
bmp.Dispose();
bmp = copy;
bmp.Save(@"C:\Pic.jpg");
That's it..
Tags Bitmap, C#, Image Processing


