Vista x64 Problem

Vista x64 Problem

Using NCover.Console launched from NCover.Explorer I get the following exception:

  • Top-level exception (System.Runtime.InteropServices.SEHException) External component has thrown an exception. -- Stack Trace at CxxThrowException(Void* , s_ThrowInfo ) at ShMemReader.GetMemoryPointer(ShMemReader , UInt32 addr) at ShMemLinkedList.getHeadNode(ShMemLinkedList* ) at NCover.Data.MwShMemLinkedList<NCover::Interfaces::IModuleInfo ^\,ModuleInfo\,NCover::Data::ModuleInfoConverter>.get_Count() at NCover.Framework.CoverageData.ReadBinary() at NCover.Framework.CoverageData..ctor(INCoverData data) at NCover.Framework.ProfilerDriver.GetCoverageData() at NCover.Framework.ProfilerDriver.WaitForExit() at NCover.Framework.ProfilerDriver.ExecuteProfiler() at NCover.Framework.ProfilerDriver.Run() at NCover.ConsoleMain.ConsoleMain.Main(String[] args)

I get a "NCover couldn't create a coverage report" when using TestDriven.NET v 2.12.2179


RE: Vista x64 Problem

Are you running on a 32 or 64 bit machine? Are you running the 32 or 64 bit version of NCover? Does the exception occur shortly after NCover starts or does NCover run for a while and then quit?

Stephen


RE: Vista x64 Problem

Same problem here...

I am on a 64 bit machine, with the ncover enterprise (what I think that is for 64 bit too)... The ncover just starting and blocks... maybe the problem is with the nunit... I don't know!


RE: Vista x64 Problem

Are you profiling an application or a website or a service? NCover will block when profiling the last two until you press CTRL-C. Are you profiling a native app? NCover waits for the profiled application to connect before starting coverage, but native applications can't talk to NCover, so NCover just waits indefinately for them to connect.

Stephen


RE: Vista x64 Problem

Is there a work-around for this? I am also having a similar problem. I am running a 32bit app on Vista sp1 x64 and 64bit NCover v3.0.5 and on NCover v2.1.0 , with the following stack:

C:\Work\ncover\test1>NCover.Console "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe" //h .\

NCover.Console v3.0.5 (Administrator x64) - Code Coverage Analysis for .NET Copyright (c) 2008 Gnoso Inc. http://www.ncover.com

Registered to Customer #: 17946 NCover Enterprise Edition (1 Machine) 31 days left in the trial period.

Command: "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe" Command Args: Working Directory: Assemblies: (All Loaded Assemblies)

Program Output

Exception

-- Top-level exception (System.Runtime.InteropServices.SEHException) External component has thrown an exception. -- Stack Trace at CxxThrowException(Void* , sThrowInfo ) at ShMemReader.GetMemoryPointer(ShMemReader , UInt32 addr) at ShMemString.getCharDataPtr(ShMemString , ShMemReader rdr) at NCover.Data.MwDocumentInfo.get_DocumentURL() at NCover.Framework.Models.NCoverMemoryModel.GetModelData(INCoverData data, List1& modules) at NCover.Framework.Models.NCoverMemoryModel._ImportAndMergeMemoryModel(List1 memData) at NCover.Framework.ProfilerDriver.GetCoverageData() at NCover.Framework.ProfilerDriver.ExecuteNCover(Int32& profiledAppCode) at NCover.Framework.ProfilerDriver.Execute(Int32& profiledAppCode) at NCover.ConsoleMain.ConsoleMain.Main(String[] args)

C:\Work\ncover\test1>NCover.Console "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe" //h .\

NCover.Console v2.1.0 (Administrator x64) - Code Coverage Analysis for .NET Copyright (c) 2008 Gnoso Inc. http://www.ncover.com

Registered to Customer #: 17946 NCover Enterprise Edition (1 User) 31 days left in the trial period.

Command: C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe Command Args: Working Directory: Assemblies:

Program Output

Exception

-- Top-level exception (System.Runtime.InteropServices.SEHException) External component has thrown an exception. -- Stack Trace at CxxThrowException(Void* , sThrowInfo ) at ShMemReader.GetMemoryPointer(ShMemReader , UInt32 addr) at ShMemLinkedList.getHeadNode(ShMemLinkedList , ShMemReader rdr) at ShMemLinkedList.count(ShMemLinkedList , ShMemReader rdr) at NCover.Data.MwShMemLinkedList<NCover::Interfaces::IModuleInfo ^\,ModuleInfo\,NCover::Data::ModuleInfoConverter>.get_Count() at NCover.Framework.CoverageData.ReadBinary() at NCover.Framework.CoverageData..ctor(INCoverData data) at NCover.Framework.ProfilerDriver.GetCoverageData() at NCover.Framework.ProfilerDriver.Execute() at NCover.ConsoleMain.ConsoleMain.Main(String[] args)


RE: Vista x64 Problem

if Ssms.exe is running as a 32-bit process, then you should use the NCover found in "C:\Program files (x86)\NCover". You mentioned that you have NCover 3.0.5 and NCover 2.1 installed on the same machine, so before you run NCover v3.0.5, you should run "regsvr32 \NCover.lib.x86.dll" if you're covering a 32-bit application or "regsvr32 \NCover.lib.x64.dll" if you're covering 64-bit applications. do the same before running NCover v2.1.0

Regards, Stephen Ward