Archived

This forum has been archived. Please start a new discussion on GitHub.

MS Visual Studio 2010 built .exe fails to run outside

I have an ICE project created using MS Visual Studio 2010 with the ice plugin activated. I am able to run my service from within the IDE, but when I try to run the .exe from outside, I get the following error, I have all the dlls copied to the same directory as the .exe file:


!! 08/05/10 14:18:42.535 CDSPricingService.exe: error: ObjectAdapterI.cpp:1215:
error while parsing endpoint `invalid object adapter endpoint `∞l☼"≡l☼"


Any help is appreciated.

Thanks,
Adi

Comments

  • bernard
    bernard Jupiter, FL
    Hi Adi,

    Welcome to our forums!

    The Ice add-in for Visual Studio is only used at build-time; it helps translate your Slice definitions (.ice files) into the corresponding C++ or C# code.

    So it's surprising you get different behavior inside vs outside Visual Studio.

    The error message strongly suggests a problem with the .Endpoints property of your object adapter ... it's set to 'invalid object adapter endpoint `∞l☼"≡l☼', while the expected value should be like 'tcp -h myHost'!

    How do you set this property? Can you post a short version of your application that exhibits this behavior?

    Best regards,
    Bernard
  • Hi Bernard,

    Thanks for replying, here is the snippet of my server code:

    Ice::ObjectAdapterPtr adapter =
    communicator()->createObjectAdapterWithEndpoints("CDSPricingService", "default -h 127.0.0.1 -p 10000")


    Not sure why this is working fine within the IDE but not when running the .exe from outside.

    -Adi
  • bernard
    bernard Jupiter, FL
    Hi Adi,

    This sounds like a memory corruption issue. Hard to say where without seeing more code.

    Any chance you may be using/copying the wrong DLLs? You need the DLLs from the bin/vc100 directory (or bin/vc100/x64) for an application built with VS 2010.

    If that's not the issue, one option could be to attach to your server and step into the createObjectAdapterWithEndpoints call, and try to find out how/where your endpoints string gets trashed.

    Best regards,
    Bernard