Specifying a base loading address for a .NET assembly

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Emby

    Specifying a base loading address for a .NET assembly

    I was wondering if anyone specifies a base loading address for .NET
    Libraries (DLL projects). This can be done on the Advanced Compiler Settings
    dialog, accessed from the Compile page of Project properties in VB.NET 2005
    projects.

    The default is &H11000000, so if you have several DLLs loading, they will
    all try to load at that address. The first may succeed, but all others will
    fail, and, as I understand it, the loader will have to rebase the dll
    on-the-fly (at least that's how it used to work ;-)

    The down side is a slower load (no app needs that), and traditionally, it
    can also be harder to debug in the event of a crash. Also, is there the
    equivalent of a "map file" for .NET apps? Or is that obsolete with the event
    of JIT compilation?

    I really don't know how much of this "old experience" applies to .NET apps -
    can anyone straighten me out?

    Thanks


  • Jesse Houwing

    #2
    Re: Specifying a base loading address for a .NET assembly

    Emby wrote:[color=blue]
    > I was wondering if anyone specifies a base loading address for .NET
    > Libraries (DLL projects). This can be done on the Advanced Compiler Settings
    > dialog, accessed from the Compile page of Project properties in VB.NET 2005
    > projects.
    >
    > The default is &H11000000, so if you have several DLLs loading, they will
    > all try to load at that address. The first may succeed, but all others will
    > fail, and, as I understand it, the loader will have to rebase the dll
    > on-the-fly (at least that's how it used to work ;-)
    >
    > The down side is a slower load (no app needs that), and traditionally, it
    > can also be harder to debug in the event of a crash. Also, is there the
    > equivalent of a "map file" for .NET apps? Or is that obsolete with the event
    > of JIT compilation?
    >
    > I really don't know how much of this "old experience" applies to .NET apps -
    > can anyone straighten me out?[/color]

    Rico Mariani seems to be the expert on this topic. You can find his blog
    here:



    He has done quite a few posts on similar subjects so you might be able
    to get what you want from there.

    Jesse Houwing

    Comment

    • Emby

      #3
      Re: Specifying a base loading address for a .NET assembly

      Thanks Jessie,

      Rico has lots of interesting stuff there, but I didn't see anything about
      setting .NET DLL bas addresses.

      Cheers


      "Jesse Houwing" <jesse.houwin g@------.nl> wrote in message
      news:OGts2YHkGH A.3848@TK2MSFTN GP04.phx.gbl...[color=blue]
      > Emby wrote:[color=green]
      >> I was wondering if anyone specifies a base loading address for .NET
      >> Libraries (DLL projects). This can be done on the Advanced Compiler
      >> Settings dialog, accessed from the Compile page of Project properties in
      >> VB.NET 2005 projects.
      >>
      >> The default is &H11000000, so if you have several DLLs loading, they will
      >> all try to load at that address. The first may succeed, but all others
      >> will fail, and, as I understand it, the loader will have to rebase the
      >> dll on-the-fly (at least that's how it used to work ;-)
      >>
      >> The down side is a slower load (no app needs that), and traditionally, it
      >> can also be harder to debug in the event of a crash. Also, is there the
      >> equivalent of a "map file" for .NET apps? Or is that obsolete with the
      >> event of JIT compilation?
      >>
      >> I really don't know how much of this "old experience" applies to .NET
      >> apps - can anyone straighten me out?[/color]
      >
      > Rico Mariani seems to be the expert on this topic. You can find his blog
      > here:
      >
      > http://blogs.msdn.com/RicoM/
      >
      > He has done quite a few posts on similar subjects so you might be able to
      > get what you want from there.
      >
      > Jesse Houwing[/color]


      Comment

      • GhostInAK

        #4
        Re: Specifying a base loading address for a .NET assembly

        Hello Emby,

        It doesn't answer your question.. but an interesting tid-bit: It seems that
        under Vista ALL dlls will be dynamicly rebased by the OS (with some exceptions
        and some ability to manage the exception list).

        -Boo
        [color=blue]
        > Thanks Jessie,
        >
        > Rico has lots of interesting stuff there, but I didn't see anything
        > about setting .NET DLL bas addresses.
        >
        > Cheers
        >
        > "Jesse Houwing" <jesse.houwin g@------.nl> wrote in message
        > news:OGts2YHkGH A.3848@TK2MSFTN GP04.phx.gbl...
        >[color=green]
        >> Emby wrote:
        >>[color=darkred]
        >>> I was wondering if anyone specifies a base loading address for .NET
        >>> Libraries (DLL projects). This can be done on the Advanced Compiler
        >>> Settings dialog, accessed from the Compile page of Project
        >>> properties in VB.NET 2005 projects.
        >>>
        >>> The default is &H11000000, so if you have several DLLs loading, they
        >>> will all try to load at that address. The first may succeed, but all
        >>> others will fail, and, as I understand it, the loader will have to
        >>> rebase the dll on-the-fly (at least that's how it used to work ;-)
        >>>
        >>> The down side is a slower load (no app needs that), and
        >>> traditionally, it can also be harder to debug in the event of a
        >>> crash. Also, is there the equivalent of a "map file" for .NET apps?
        >>> Or is that obsolete with the event of JIT compilation?
        >>>
        >>> I really don't know how much of this "old experience" applies to
        >>> .NET apps - can anyone straighten me out?
        >>>[/color]
        >> Rico Mariani seems to be the expert on this topic. You can find his
        >> blog here:
        >>
        >> http://blogs.msdn.com/RicoM/
        >>
        >> He has done quite a few posts on similar subjects so you might be
        >> able to get what you want from there.
        >>
        >> Jesse Houwing
        >>[/color][/color]


        Comment

        Working...