debugdiag在异常的时候打印EBP堆栈和SP堆栈,什么意思?
报告异常的时候,会打印一次EBP栈,后面还有一个SP栈,不知道为什么两次?
我是用异常事件打印堆栈功能,不过每次都打印这两个堆栈,什么关系呢?
项目是C++,底层调用了C#的接口。
[2016/3/19 8:52:36]
on thread 14172.
Stack Trace
ChildEBP RetAddr Args to Child
21bae828 66ccba10 e0434352 00000001 00000005 KERNELBASE!RaiseException+0x58
21bae8b8 66ccbc49 1e3e1048 00000000 00000000 clr!RaiseTheExceptionInternalOnly+0x276
21bae978 72a58432 00002746 00000001 00000000 clr!IL_Throw+0x14c
21bae9f4 5932c05c 1e1f07a4 1e006910 11e1a301 System_ni+0x778432
21bae9f4 5932c05c 1e1f07a4 1e006910 11e1a301 System_ServiceModel_ni+0x2bc05c
21baea54 5932b426 1e1f07a4 1e1f07a4 11e1a301 System_ServiceModel_ni+0x2bc05c
21baeaa8 5938fc33 11e1a301 00000000 11e1a301 System_ServiceModel_ni+0x2bb426
21baeae8 59a69418 11e1a301 00000000 21baeb14 System_ServiceModel_ni+0x31fc33
21baeaf8 599a098c 11e1a301 00000000 00000000 System_ServiceModel_ni+0x9f9418
21baeb14 599a059f 11e1a301 00000000 21baeb34 System_ServiceModel_ni+0x93098c
21baeb54 59f118be 11e1a301 00000000 1e3e0968 System_ServiceModel_ni+0x93059f
21baebcc 5936476e 23c34600 00000000 23c34600 System_ServiceModel_ni+0xea18be
21baec0c 593643a9 1e3e018c 23c34600 00000000 System_ServiceModel_ni+0x2f476e
21baeccc 59364227 23c34600 00000000 21baecf0 System_ServiceModel_ni+0x2f43a9
21baed10 59346ebf 23c34600 00000000 48d34f90 System_ServiceModel_ni+0x2f4227
21baed74 5935a232 23c34600 00000000 0e671848 System_ServiceModel_ni+0x2d6ebf
21baed88 59346ebf 23c34600 00000000 21baedac System_ServiceModel_ni+0x2ea232
21baedec 593607f2 23c34600 00000000 5936054c System_ServiceModel_ni+0x2d6ebf
21baee48 5935f96b 23c34600 00000000 21baf27c System_ServiceModel_ni+0x2f07f2
21baef80 5935f729 23c34600 00000000 1dfc4584 System_ServiceModel_ni+0x2ef96b
21baefbc 5935ee75 1dfc322c 00000000 1e3e0508 System_ServiceModel_ni+0x2ef729
21baf004 64432ade 21baf29c 21baf274 1e0d571c System_ServiceModel_ni+0x2eee75
21baf038 66c62336 00000001 21baf0b8 66db4091 mscorlib_ni+0x272ade
21baf044 66db4091 644329f0 1e3e0454 21baf134 clr!CTPMethodTable__CallTargetHelper3+0xf
21baf0b8 66f8c284 1e3e0454 21baf134 00000001 clr!InitMessageData+0x47d
21baf0cc 66f8c6c2 6422cc84 1e3e0454 21baf134 clr!CTPMethodTable::CallTarget+0x16
21baf25c 18d82c5b 21baf29c 22bc7870 21baf274 clr!CTPMethodTable::OnCall+0x280
WARNING: Frame IP not in any known module. Following frames may be wrong.
21baf334 66c8a8ce 1e3cbbc0 1e3cbbc0 21baf360 0x18d82c5b
21baf448 0faa99f9 00000000 1e3dff88 1e3dff88 clr!JIT_ChkCastAny+0x18
21baf4a8 0faa3a06 1df38900 1e3dff44 21baf4cc 0xfaa99f9
21baf4b8 0f40591c 1e3cbc98 1df38918 000023cc 0xfaa3a06
21baf4cc 0e5871d3 1e3dff44 1e3cbc98 0000000d 0xf40591c
21baf4e4 0e5870a3 000023cc 66ce5b1f 21baf510 0xe5871d3
21baf600 523dd6ed 242cd368 000023cc 21baf62c 0xe5870a3
21baf660 523e0c37 21baf744 70bf6156 52476d7c BasetcaApi!qit::basetca_api::BasetcaImp::SendRequest+0x5d [e:\quantrader2.4_src\iquantservice\og\tca\basetca\src\main\basetcaimp.cpp @ 286]
21baf7b0 523fa064 21baf990 70bf6126 000023d0 BasetcaApi!qit::basetca_api::BasetcaImp::SendRequestTmp<TCA::Data::AccTradingParaReq>+0x387 [e:\quantrader2.4_src\iquantservice\og\tca\basetca\src\main\basetcaimp.h @ 139]
21baf9c0 523f5c89 21bafd04 70bf6d56 00000000 BasetcaApi!qit::basetca_api::RequestProcess::TradeParamsRequest+0x3e4 [e:\quantrader2.4_src\iquantservice\og\tca\basetca\src\main\requestprocess.cpp @ 923]
21bafbb0 523ea443 21bafd04 70bf6bba 00000000 BasetcaApi!qit::basetca_api::RequestProcess::Process+0x1039 [e:\quantrader2.4_src\iquantservice\og\tca\basetca\src\main\requestprocess.cpp @ 180]
21bafd5c 523e36b9 17700778 5245b4d5 70bf6b22 BasetcaApi!qit::basetca_api::Engine::RequestThreadFunc+0x593 [e:\quantrader2.4_src\iquantservice\og\tca\basetca\src\main\engine.cpp @ 104]
21bafdc4 602ec556 1ba73ed0 0e929b4c 00000000 BasetcaApi!boost::detail::thread_data<boost::_bi::bind_t<void,void (__cdecl*)(zmq::context_t *),boost::_bi::list1<boost::_bi::value<zmq::context_t *> > > >::run+0x9 [e:\quantrader2.4_src\slib\boost\boost\thread\detail\thread.hpp @ 74]
21bafdfc 602ec600 0e3c3db0 21bafe40 60a611d3 MSVCR100!_endthreadex+0x3f
21bafe08 60a611d3 17746fa0 9740acff 00000000 MSVCR100!_endthreadex+0xce
21bafe40 765c337a 0e3c3db0 21bafe8c 77bd9882 verifier!AVrfpStandardThreadFunction+0x2f
21bafe4c 77bd9882 0e3c3db0 802cca84 00000000 kernel32!BaseThreadInitThunk+0xe
21bafe8c 77bd9855 60a611a4 0e3c3db0 00000000 ntdll!__RtlUserThreadStart+0x70
21bafea4 00000000 60a611a4 0e3c3db0 00000000 ntdll!_RtlUserThreadStart+0x1b
OS Thread Id: 0x375c (162)
Child SP IP Call Site
21bae930 7706c42d [HelperMethodFrame: 21bae930]
21bae980 72a58432 System.Net.Sockets.Socket.BeginReceive(Byte[], Int32, Int32, System.Net.Sockets.SocketFlags, System.AsyncCallback, System.Object)
21bae9ac 0e585b20 System.ServiceModel.Channels.SocketConnection.BeginReadCore(Int32, Int32, System.TimeSpan, System.Threading.WaitCallback, System.Object)
21baea10 5932c05c System.ServiceModel.Channels.SocketConnection.CloseAsyncAndLinger()
21baea5c 5932b426 System.ServiceModel.Channels.SocketConnection.Close(System.TimeSpan, Boolean)
21baeab8 5938fc33 System.ServiceModel.Channels.BufferedConnection.Close(System.TimeSpan, Boolean)
21baeaf8 59a69418 System.ServiceModel.Channels.ConnectionPool.CloseItemAsync(System.ServiceModel.Channels.IConnection, System.TimeSpan)
21baeb08 599a098c System.ServiceModel.Channels.IdlingCommunicationPool`2+IdleTimeoutEndpointConnectionPool[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].CloseItemAsync(System.__Canon, System.TimeSpan)
21baeb24 599a059f System.ServiceModel.Channels.CommunicationPool`2+EndpointConnectionPool[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].CloseIdleConnection(System.__Canon, System.TimeSpan)
21baeb64 59f118be System.ServiceModel.Channels.CommunicationPool`2+EndpointConnectionPool[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].TakeConnection(System.TimeSpan)
21baebdc 5936476e System.ServiceModel.Channels.CommunicationPool`2[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].TakeConnection(System.ServiceModel.EndpointAddress, System.Uri, System.TimeSpan, System.__Canon ByRef)
21baec24 593643a9 System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(System.TimeSpan)
21baecdc 59364227 System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(System.TimeSpan)
21baed20 59346ebf System.ServiceModel.Channels.CommunicationObject.Open(System.TimeSpan)
21baed84 5935a232 System.ServiceModel.Channels.ServiceChannel.OnOpen(System.TimeSpan)
21baed98 59346ebf System.ServiceModel.Channels.CommunicationObject.Open(System.TimeSpan)
21baedfc 593607f2 System.ServiceModel.Channels.ServiceChannel+CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(System.ServiceModel.Channels.ServiceChannel, System.TimeSpan)
21baee08 5936054c System.ServiceModel.Channels.ServiceChannel+CallOnceManager.CallOnce(System.TimeSpan, CallOnceManager)
21baee58 5935f96b System.ServiceModel.Channels.ServiceChannel.Call(System.String, Boolean, System.ServiceModel.Dispatcher.ProxyOperationRuntime, System.Object[], System.Object[], System.TimeSpan)
21baefa0 5935f729 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(System.Runtime.Remoting.Messaging.IMethodCallMessage, System.ServiceModel.Dispatcher.ProxyOperationRuntime)
21baefc8 5935ee75 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(System.Runtime.Remoting.Messaging.IMessage)
21baf00c 64432ade System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(System.Runtime.Remoting.Proxies.MessageData ByRef, Int32)
21baf29c 66c62336 [TPMethodFrame: 21baf29c] VETCA.TradingParamFutureService.IFuturesTradeRules.GetFutureCostsByBreedClassID(Int32)
21baf2ac 0faa9be1 VETCA.WCFProxy.TradingParamProxy.GetSingleFutureParam(TCA.Data.FutParameter) [e:\Quantrader2.4_src\iQuantService\OG\TCA\VETCA\WCFProxy\TradingParamProxy.cs @ 319]
21baf450 0faa99f9 VETCA.WCFProxy.TradingParamProxy.ReqestFutureParam(TCA.Data.AccTradingParaReq) [e:\Quantrader2.4_src\iQuantService\OG\TCA\VETCA\WCFProxy\TradingParamProxy.cs @ 272]
21baf4b0 0faa3a06 VETCA.WCFProxy.TradingParamProxy.Request(TCA.Data.MessageType, System.Object) [e:\Quantrader2.4_src\iQuantService\OG\TCA\VETCA\WCFProxy\TradingParamProxy.cs @ 95]
21baf4c4 0f40591c VETCA.Deal.DealCenter.orsProxy_OnRequest(System.Object, VETCA.BaseTCAProxy.RequestEventArgs) [e:\Quantrader2.4_src\iQuantService\OG\TCA\VETCA\Deal\DealCenter.cs @ 134]
21baf4d8 0e5871d3 VETCA.BaseTCAProxy.OrsProxy.Analyse(Byte[], Int32) [e:\Quantrader2.4_src\iQuantService\OG\TCA\VETCA\BaseTCAProxy\OrsProxy.cs @ 38]
21baf4f0 0e5870a3 VETCA.BaseTCAProxy.OrsProxy._Instance_Request(Byte[], Int32, Int32 ByRef, System.String ByRef) [e:\Quantrader2.4_src\iQuantService\OG\TCA\VETCA\BaseTCAProxy\OrsProxy.cs @ 78]
21baf538 0e586fee VETCA.BaseTCAProxy.BaseTcaApi.BaseTcaApi_apiRequest(IntPtr, Int32, Int32 ByRef, Byte[] ByRef, Int32 ByRef) [e:\Quantrader2.4_src\iQuantService\OG\TCA\VETCA\BaseTCAProxy\BaseTcaApi.cs @ 85]
21baf568 0e584642 DomainBoundILStubClass.IL_STUB_ReversePInvoke(Int32, Int32, IntPtr, IntPtr, IntPtr)