YaK:: WebLog #535 Topic : 2004-09-03 06.49.10 burddell : VS.NET is winking at me.. [Changes]   [Calendar]   [Search]   [Index]   [PhotoTags]   
  [Back to weblog: pretention]  
[mega_changes]
[photos]

VS.NET is winking at me..

Figuring out the Reflection and Debugging APIs took a year off my life, at least.


I finally fucking figured out the Unmanaged Debug APIs. Now I need to see how much of this I can actually get done in managed code. I'll definitely have to have a managed C++ DLL that has the stuff I *can't* do in managed code. See this newsgroup thread to understand the hilarity here:

Seems like Microsoft's API and QA police MISSED THE SYMBOLPROVIDER API. Everything else in .NET was so easy. But after a certain point in Reflection, things started to get very hairy very fast. If you want to get access to instructions, you pretty much end up rewriting a lot of the Reflection API functionality yourself. Great. I sent in my complaints to MS, but things don't look any better in the .NET Framework v1.2 Beta I installed. Oh, and by the way, when you install .NET v1.2 Beta (that comes with Yukon Beta), you can't debug ASP.NET v1.1 apps with VS.NET any more. In fact, many things stop working. I had to uninstall it, even though I wanted to play with generics and partial types a bit. Hopefully I can get the Whidbey beta bits coming out soon (not the POS bits they released at PDC) and they will play more nicely.

Last night I had VS.NET wink out of existence on me. No crash, just fucking disappeared. Fantastic. Now, I understand the code I was trying to compile wasn't going to work, but VS.NET shouldn't exit without saving any of my changes unless I rrrreaally really want it to. For your own bemusement, the code is below. Make a new C# Console Application, and put in this code:

class Class1 { [DllImport("MSCORWKS.DLL", EntryPoint="", SetLastError=true, CharSet=CharSet.Unicode, ExactSpelling=true, CallingConvention=CallingConvention.StdCall)] public static extern bool MoveFile(String src, String dst); [STAThread] static void Main(string[] args) { IntPtr pIMetaDataImport; } }

I think it's the EntryPoint="" that fouls things up. I still see weird bugs after using NUnit attributes for awhile. VS.NET 2002 used to crash in thsi instance, 2003 is a little more resilient though.

If anyone has the Whidbey bits, I'd be interested to see if it also winks out of existence.

Speaking of MS, I seem to have lost the business card for the Application Compatibility Toolkit program manager. I'm finally getting around to contacting the people I met at Blackhat Windows last month, and the MS cards were missing :( If anyone knows who I'm talking about and can hook me up with an email, that would be great.

[ Sorry, all guestbooks disabled temporarily due to rampant spam :(   ]
(unless otherwise marked) Copyright 2002-2014 YakPeople. All rights reserved.
(last modified 2004-09-15)       [Login]
(No back references.)