Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Calling C++ dll from C# - how to debug?
Message
 
 
To
20/10/2017 12:20:48
General information
Forum:
C#
Category:
Coding, syntax and commands
Miscellaneous
Thread ID:
01655067
Message ID:
01655113
Views:
33
>>With the new dll I am now getting:
>>
>>Managed Debugging Assistant 'PInvokeStackImbalance' occurred
>> Message=Managed Debugging Assistant 'PInvokeStackImbalance' : 'A call to PInvoke function 'Siriusware.Middleware!Siriusware.Middleware.ValidationPass::Invoke1' has unbalanced the stack. This is likely because the managed PInvoke signature does not match the unmanaged target signature. Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature.'
>>
>>But no crash as before.
>
>See what the CallingConvention of the Siriuseware invoke1 is

The C++ declaration is
EXTERN_C LPCTSTR Invoke1	(LPCTSTR szIn)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	pMainEngine->m_cei.Clear();
	pMainEngine->ProcessCall(CString(szIn), theApp.m_csRet);
	return theApp.m_csRet;
}
Does it help?
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform