Transport agent debugging in Exchange 2016 RRS feed

  • Question

  • Hello All,

    I have built a new Exchange 2016 CU15 development system and have installed Visual Studio 2019 in order to develop transport agents for a project I have been assigned.

    To start off I built a sample smtp receive agent and successfully got it installed and working on exchange.

    Now I want to be able to debug the project.
    My agent is being ran from the debug folder of my VS project, symbols are present in the folder and Network Service has full access.

    I then successfully attach to the MSExchangeTransport.exe process, but when I set breakpoints they are marked “The breakpoint will not currently be hit, no symbols are loaded for this document”.

    In the past I built some Managed sinks for Exchange 2003 and I would get the same warning until a message was received by exchange then everything loaded and I was able to debug the sink.

    When I send a message to a user of exchange the message is processed by my smtp receive agent and delivered to the mailbox but the breakpoints are never hit.

    Even though I didn’t install the agent using the –Frontend parameter I also attached to the MSFrontendTransport.exe as well as the EdgeTransport.exe  processes with the same result.

    Does anyone have any ideas what I could be missing or doing wrong?


    Saturday, March 14, 2020 8:59 PM

All replies

  • Ok so I think I have found some of my issues.

    I created a second transport agent project using Visual Studio 2013, when I compiled it I got errors indicating the Exchange assemblies were built against dot net 4.62 and the version I used in the VS 2013 project was 4.5.

    I installed dot net 4.62 and built the new project and got no errors so all seemed good.
    Next I installed the agent and tested it out and again all was working as it should.

    I then attached to the MSExchange.exe process and still no debugging, the same with the MSFrontEndTransport.exe process.
    Just to be complete I attached to the EdgeTransport.exe process and to my surprise the breakpoints were not showing the “The breakpoint will not currently be hit, no symbols are loaded for this document” so I sent a message and the debugger caught, this is great news.

    So now my question is do I attach to the Edgetransport process for all transport agents? In my current setup all the roles are on a single server but in my production system we do have an edge transport.

    Also do the routing and delivery agents attach to the Edgetransport process or some other process?

    Thanks Again
    Sunday, March 15, 2020 2:00 AM