I've not yet given up, but didn't get much closer
What I can offer though is a simple example derived from a stripped down basic car sdk demo merged into the project tutorial_101_GettingStarted. Stripped down means, I've removed dependencies around DemoEntity, to make the code work without the demo framework.
This example shows the problem I also see in my Shiva engine plugin. It just requires a few smaller changes to the tutorial project in case somebody wants to help.
The problem I see is still the same, I get a crash and the debugger stopps here:
- Code: Select all
NewtonBody* dNewtonBody::GetNewtonBody () const
{
return m_body; <-- crash
}
Here's a example call stack for the calling thread:
- Code: Select all
> tutorial_101_GettingStarted.exe!dNewtonBody::GetParent() Zeile 275 + 0x3 Bytes C++
tutorial_101_GettingStarted.exe!dNewtonTransformManager::UpdateTransformKernel(NewtonWorld * const world=0x016400c0, void * const context=0x01670880, int threadIndex=1) Zeile 45 + 0x8 Bytes C++
tutorial_101_GettingStarted.exe!dgThreadHive::dgThreadBee::RunNextJobInQueue(int threadId=1) Zeile 98 + 0x12 Bytes C++
tutorial_101_GettingStarted.exe!dgThreadHive::dgThreadBee::Execute(int threadId=1) Zeile 73 C++
tutorial_101_GettingStarted.exe!dgThread::dgThreadSystemCallback(void * threadData=0x0167c50c) Zeile 229 C++
tutorial_101_GettingStarted.exe!ptw32_threadStart(void * vthreadParms=0x01680908) Zeile 225 + 0x7 Bytes C
msvcr100d.dll!_callthreadstartex() Zeile 314 + 0xf Bytes C
msvcr100d.dll!_threadstartex(void * ptd=0x016813c8) Zeile 297 C
kernel32.dll!BaseThreadInitThunk() + 0x24 Bytes
[Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder fehlen, keine Symbole geladen für kernel32.dll]
ntdll.dll!RtlInitializeExceptionChain() + 0x8f Bytes
ntdll.dll!RtlInitializeExceptionChain() + 0x5a Bytes
The problem starts when the following (required) line is added. When it's comment it out, there's no crash. Looking at the related code and classes, I'm not able to figure out a solution myself
- Code: Select all
BasicCarEntity* const heavyVehicle = new BasicCarEntity (manager, location, basicCarParameters);
If you want to help and make the example work, extract the two files in the attached zip to applications\tutorialsSDK300\CNewtonTutorials\tutorial_101_GettingStarted.
The project file just contains changes to link with dJointLibrary_d.lib.
Build the solution (Debug) and copy the following files to applications\tutorialsSDK300\CNewtonTutorials\Debug:
- newton_d.dll/pdb
- dNewton_d.dll/pdb
- dContainers_d.dll/pdb
- dJointLibrary.dll/pdb
By the way, I'm using Visual C++ 2010 Express.
Any help is highly appreciated before I'm going nuts with this...
Shaderman