November 30, 2009 10:51 am (permalink)

Adding Soft Debugger support to MDB

Last week, I did some research about adding support for Zoltan's new Soft Debugger to MonoVS and / or MDB.

After playing around with it a little bit and looking at MonoDevelop's implementation, I decided to take a different path and kill two birds with one stone - by adding support to the debugger itself. Since this debugger already has a pretty good client / server abstraction, things are working out pretty well so far - I'm basically creating a new soft debugger "backend" and provide a new 'Language'.

This means we will not only be able to use the current cli debugger on the iPhone, but also get the MonoVS integration at no cost.

At the moment, I already got some very basic single-stepping working - we use some quick hack to stop on the first line of Main(), and then you can do some stepping. My next challenge is implementing the type system and then adding support for breakpoints.

Posted by martin at November 30, 2009 10:51 am.

November 24, 2009 05:59 am (permalink)

Martin 2.1 - Fine-tuning the installation is a beast

There is one thing about installing a new operating system which really sucks: fine-tuning the installation - which usually takes a lot more time than the installation itself. So I spent almost the entire weekend doing post-installation stuff and in the end, I installed everything three times before I was really satisfied with the result.

The first thing to consider was whether to use physical partitions or virtual disk images in VMware - I couldn't find much information about this on Google except that using physical partitions was considered an "expert" option. The only real advantage of using raw partition seems to be increased performance, but you can't take any snapshots of your VM with this option. I still decided to use them because disk space isn't really a problem for me anymore, I can easily use traditional Windows backup to backup the entire system to an unused hard disk partition, but getting maximum performance is very important for me.

Another important thing to decide was the amount of RAM to allocate to the VMs - the host has 4 GB, so I had the idea of running two VMs at the same time. After trying several options between 1-2 GB, I finally realized that my laptop isn't powerful enough to handle this, each time I tried the machine started swapping like hell and it took over an hour till I could do anything useful again (I didn't want to risk damaging the installation by doing a force shutdown, so I had to wait till it was done booting and let me shutdown cleanly). Now I'm allocating 2 GB to the VM, which means that both host and VM can run without any swapping.

Most of the work was fixing all these tiny but annoying little issues that came up while installing this stuff.

Last thing I had to do last night was running a backup of both installations.

Posted by martin at November 24, 2009 05:59 am.

November 18, 2009 12:12 pm (permalink)

Martin 2.0 - The Upgrade

After our great MonoVS 1.0 Release, I finally got tired of doing disk surgery and repartitioning to gain more disk space. When I bought my laptop about a year ago, it was state of the art - 100 GB was the biggest hard disk that was available back then. Since the initial installation, I repartitioned at least 4-5 times to increase the Windows partition.

One thing that's really bad about Windows is if you run out of disk space while doing any kind of upgrade or software installation and you have system restore turned off - that was actually one of the first things I turned off to save disk space - it can leave your system in an inconsistent state where it'll fail to install any further upgrades. I run into this problem while trying to install ASP.NET MVC to fix some bug.

This week, I bought an external 1000 GB - and I refuse to call this a [I]terrabyte[/I] - USB hard drive and then completely reinstalling my system. My primary Vista partition is now 60 GB and after the clean install with Vista x64 SP2 and Visual Studio 2008, there's still plenty of space left, but I also won't install some huge software packages like OpenOffice on it.

In addition to this, I now have two VMware images of 200 GB each - one running Windows 7 with both Visual Studio 2008 and 2010 and the other one running Vista and Visual Studio 2008. I also created a 350 GB backup partition and reserved 200 GB for future extensions - for instance installing a different Linux version etc. - disk space is not something I need to worry about anymore ...

Now I'm basically running MonoVS "the other way around" - with Linux as the host and Windows inside the VM. This was necessary because there still isn't any support for installing Windows 7 onto an external USB hard disk, so you have to run this in some kind of a virtual machine. At the moment, I assigned 2 GB of RAM to the VM (my laptop has 4 GB of RAM) which means I can only run one of them at a time, but at maximum performance without any swapping.

Tomorrow, I'll do some more fine-tuning of the new system and then see whether we can run MonoVS on Windows 7 and/or with Visual Studio 2010. My guess is that the Windows 7 / Visual Studio 2008 setup will just work out-of-the box without any changes at all, but getting it working for Visual Studio 2010 most likely requires some minor tweaks to the registry code.

Posted by martin at November 18, 2009 12:12 pm.