A new chapter

When is the last time I posted anything in this blog? It’s almost like two years ago. It’s actually beyond me why I haven’t continued that habit. Maybe I was overwhelmed, or intimated with where my work is going for the whole time, or didn’t have anything which I thought which was important enough to write about. All of those reasons I now know to be sorry excuses, for doing something which I claim I love to do, which is writing. But here I am now, reconsidering it all and getting out of that negative mindset to actually continue.

It’s not like I completely stopped. I’ve been into reviewing movies for a while now. It’s something that I like to do, which is criticizing or admiring movies which is like my greatest hobby. I’ve written some reviews in IMDB. And started 2 movie blogs, one of which is still functioning now at refreshingretreat.blogspot.com. You’re welcome to go there and enjoy. And it’s not all about movies. Also I’ve written some reviews on my local hard drive too. This was something I passionately did like two years ago but kind of fell out of habit. Only recently I stumbled upon my backup of all those reviews and they just struck me like a speeding train. When I read them I was awestruck by my own honesty and passion that I had poured in to them. And immediately was shouting to my self, “What happened, Why did I stop?”

I was determined from that point on to keep on going. Not only reviewing movies, also continuing this blog also. Maybe I was kind of backing out from this, because I was thinking that I wouldn’t be able to come up with something that would be impressive and really useful. But really, that doesn’t matter now. What really matters is knowing that I had poured my heart and thoughts in to it. It may not get read that often, it may not be that useful, because honestly there are like thousands of technical blogs out there. But why should that stop me from writing what I think and writing about what I discover for my self. I sure hope that it’ll be helpful to someone else, and that would be a bonus. But these posts would really be my tiny mark upon that vast knowledge, and I’m OK with that.

Also I’ve come up with how the nature of this blog is going to be. It would be like my other blog, or other posts. It would be a technical blog, but intertwined with my honest opinions and heartfelt thoughts. It wouldn’t be a mechanical blog, with easy to follow steps written down. It would be laden with my thoughts, as in I wouldn’t try to hold back my thoughts in thinking how it would bore the reader. I know that this nature wouldn’t make this blog a favorite of the techies (not the Dota2 worthless hero) because they might feel like it’s too sentimental and what not.  One of the reasons I wouldn’t restrain is I wanna like writing here. I don’t want to feel like I’m doing just another job.

Anyway at the end of the day, what would make me feel awesome, is to know you, the reader, is enjoying reading this as much as I am enjoying writing this.

Posted in Uncategorized | Tagged , , | 1 Comment

Exceptions, Gotta Catch ’em all

Many know the basics and what’s there to know about Visual Studio debugging. With my work recently I faced the problem of identifying a cause for an exception which is thrown inside .Net framework code. This is not typical as .Net framework code is optimized and variables are optimized away.

For developers to fix bugs this is the most important tool, but is not being used that much, because maybe some doesn’t know its value. As you know Stack trace can be used to identify the calling stack up until the exception is thrown. But most of the time the stack trace contents cannot be accessed as it is optimized away. When you try to access the stack trace elements a window just appears saying that the source is not available.

To Overcome this, what needs to be done is trivial. We just need access to .Net framework code symbols. For that in Visual Studio 2010, Go to Debug->Options and Settings. There most probably “Enable .Net Framework source stepping” is not checked. Pretty straightforward. Just check that and press OK. Then Visual Studio will download the necessary public symbols from Microsoft. Then you would be able to access any entry in the stack trace as you please.

Also exceptions within the Common Language Runtime is not caught by default. To Catch CLR exceptions Go to Debug->Exceptions. In there check Thrown  for Common Language Runtime exceptions.

Now you can identify all the exceptions that will be thrown when your app is debugged. But still this is little use as most of the locals cannot be identified as most of the code is optimized away.There are some options in the internet on how to overcome this. But personally I did not have any luck with them. But all locals are not optimized away. Some locals can be identified when they are assigned a new value. So not all hope is lost.

Using the above methods using the PCBs we can identify the called methods, and see where the exception is thrown. It has helped me a lot, as I have a weird need to know what the hell is going on inside the framework.

Happy debugging!

Posted in Uncategorized | Tagged , , | Leave a comment

Hello world!


I’m Sukhitha, aka phabtar. A lucky computer geek from Sri Lanka. I was in to computers because of games, and that has lead my academics and carrier. I’m an average programmer. I’m crazy about movies, TV shows, generally show biz. Metal music is my catalyst. Regularly plays games in my precious rig. And I hate fads.

I started work as a Software Engineer very recently. I realized that I like writing stuff and I’m not bad at it. So always wanted to write a blog to keep as a journal, but I never found the time to it (Or maybe because I’m the king of procrastination!) Since I started work I want to share my experiences and thoughts about what I face, and what I get to do. This will be more bent towards a technical blog, but I look forward to make it more than just that.

So if you have stumbled upon this blog by some chance, congratulations!!!

Posted in Uncategorized | 1 Comment