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(List
1 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