Rick Byers

The CLR, diagnostics tool support and programming languages.

  • Rick Byers

    Leaving

    • 3 Comments
    After 6 great years at Microsoft, my wife and I have decided it's time to spend some time living near our family in Ontario, Canada (we've got two young kids, and they're going to love seeing their grandparents and cousins more than twice a year). I've...
  • Rick Byers

    Sample Reflection.Emit code for using exception filters from C#

    • 0 Comments
    In this post , I mentioned that one way to use exception filters from C# code is to generate them with Reflection.Emit.  Personally I usually prefer static compilation (even post-build assembly merging or rewriting) – there’s really nothing here...
  • Rick Byers

    Quickly seeing where an exception may land in the debugger

    • 0 Comments
    A co-worker asked me recently how he could predict where an exception that was about to be thrown would land while debugging a managed application.  The real answer to this question is “you can’t – step into the throw and see”.  The EH system...
  • Rick Byers

    My school assignment required parsing PDB files

    • 3 Comments
    I'm just finishing up my Masters in Computer Science, and was surprised when I recently got an assignment that involved parsing PDB files. Over the years I've been involved in many discussions about why the Microsoft PDB format isn't public. John Robbins...
  • Rick Byers

    New interviews with my CLR team members up on Channel9

    • 0 Comments
    There are a bunch of great new CLR v4-related video interviews up on Channel9. In particular: Jon, Thomas and Dave from my team (CLR diagnostics) discuss the advancements in debugging and profiling APIs in v4 Simon and I discuss in-process SxS...
  • Rick Byers

    AnyCPU Exes are usually more trouble than they're worth

    • 18 Comments
    Over the past few months I've had some interesting debates with folks here (and some customers) about the cost/benefit trade-off of "AnyCPU" (architecture-neutral) managed EXEs. I think we've converged on a consensus that most of the time they're not...
  • Rick Byers

    CCI is public on Codeplex

    • 1 Comments
    Herman Venter has just released his Common Compiler Infrastructure as an OpenSource project on Codeplex . CCI is a GREAT set of libraries for building, analyzing, and modifying .NET assemblies and PDB files - written entirely in C#. Several Microsoft...
  • Rick Byers

    Getting good dumps when an exception is thrown

    • 5 Comments
    Often, when an unexpected exception occurs in production code, applications want to generate (and potentially report) some sort of diagnostics information. Sometimes people just want to write to a log file (and perhaps pop some error dialog) for support...
  • Rick Byers

    CLR 4.0 advancements in diagnostics

    • 16 Comments
    We announced at PDC today that we're making some significant advances in diagnostics tool support for CLR v4! In particular, we've been investing heavily in improving our support for production diagnostics scenarios over the past couple years. I'm excited...
  • Rick Byers

    ICorDebug re-architecture in CLR 4.0

    • 6 Comments
    In my previous post I mentioned that CLR 4.0 will support managed dump debugging through ICorDebug, and that to do this we had to re-architect the debugging support in the CLR. I want to give you a little more detail about what we've been doing here....
  • Rick Byers

    Func-eval can fail while stopped in a non-optimized managed method that pushes more than 256 argument bytes

    • 1 Comments
    In this blog entry , Mike describes that func-eval will fail when not a GC-safe point. In VS this results in the error "Cannot evaluate expression because a thread is stopped at a point where garbage collection is impossible, possibly because the code...
  • Rick Byers

    Invoking a virtual method non-virtually

    • 3 Comments
    Method calls using the C# ‘ base ’ keyword get compiled to an IL ‘ call ’ instruction, rather than the ‘ callvirt ’ that is normally used . This is the one case in C# where a virtual method can be invoked without virtual dispatch. The CLR allows it to...
  • Rick Byers

    The CLR is hiring

    • 0 Comments
    This is just a quick reminder that we're always looking for talented people who are passionate about programming languages, platforms and tools. We're working on a bunch of exciting things to make .NET programming more productive and enjoyable, and there...
  • Rick Byers

    How is good software like good science?

    • 1 Comments
    I'm not one who believes mainstream large-scale software development really deserves the title of "computer science " (or "software engineering " for that matter). However, I have been thinking lately that there is an interesting analogy between good...
  • Rick Byers

    Customizing PDB lookup for source information in StackTrace

    • 4 Comments
    The System.Diagnostics.StackTrace class in .NET can be used to generate a textual representation of the current callstack. This is used, for example, by Exception.ToString() . If requested by the caller, StackTrace can include source file locations (file...
  • Rick Byers

    Using LINQ for Computational Genomics

    • 2 Comments
    I’ve been playing around a bit lately with computational genomics (I’m doing a project for my parallel computation class). I wanted to write some simple algorithms that operate on potentially large amounts of DNA data without using a ton of RAM. For example...
  • Rick Byers

    More on generic variance

    • 20 Comments
    In my entry on generic variance in the CLR , I said that you can’t convert a List<String> to a List<Object>, or even an IEnumerable<String> to IEnumerable<Object>. I should point out however that the real-world scenarios where...
  • Rick Byers

    Linq and the cost of additional language complexity

    • 8 Comments
    Uwe Keim posted a thought provoking comment in response to my entry about Linq . Here is an excerpt: I do see the benefits, but I also have a big déjà vû: The C#-language seems to go the C++-way, where I, even after 10 years of programming, don...
  • Rick Byers

    Comparison of a simple select statement in DLinq (C# 3.0) vs. ADO.Net

    • 11 Comments
    Six months ago I posted a comparison of a simple select statement in C-omega vs. ADO.Net which some people found very exciting. Now that Linq has been officially unveiled, I figured I should update my comparison using C# 3.0 and DLinq . Although Linq...
  • Rick Byers

    Interested in C-omega? LINQ finally announced!

    • 0 Comments
    Ever since I started planning for my users-group talk (and wrote this blog entry ) about data access with C-omega, I've been dying to tell everyone about the plans to add similar functionality to C#. For those of you at my talk, you'll remember this video...
  • Rick Byers

    DebuggingModes.IgnoreSymbolStoreSequencePoints

    • 3 Comments
    In my last post I gave an overview of the DebuggableAttribute, what values the C# compiler gives it, and how the CLR uses those values. I mentioned that with /debug+, the C# compiler sets the IgnoreSymbolStoreSequencePoints DebuggingModes bit, but I didn...
  • Rick Byers

    DebuggableAttribute and dynamic assemblies

    • 7 Comments
    Mike Stall has a great little sample showing how to make your dynamically generated code debuggable. However, there is one more detail you should be aware of. By default the JIT compiler will enable optimizations for the module, making debugging difficult...
  • Rick Byers

    Run-time exception checking

    • 4 Comments
    One of our partners asked us how a .NET program can tell what the currently active “try” blocks are on the stack. This seemed like a dubious thing to want to do, but regardless a colleague of mine whipped up some sample code that uses the StackTrace class...
  • Rick Byers

    Comega talk

    • 8 Comments
    On Thursday I gave a .NET users group talk on Comega to somewhere around 100 .NET developers. Overall I think it went pretty well. I was nervous at first, but once I got into talking about the cool stuff I like I forgot about the pressure and had a good...
  • Rick Byers

    Comparison of a simple select statement in C-omega vs. ADO.Net

    • 20 Comments
    In a couple weeks, I'm doing a talk at a .NET users group in Ontario about Cω . Cω is a cool research language from Microsoft Research that extends C# with direct support for data access (SQL and XML) and concurrency abstractions. I’ve been planning on...
Page 1 of 2 (29 items) 12