//public SMECallstackInformation(Exception exception) //{ // StackTrace stacktrace = new StackTrace(true); // StackFrame[] stackframes = stacktrace.GetFrames(); // foreach (StackFrame item in stackframes) // { // SMECallStack smecallstack = new SMECallStack(item); // AddCallStack(smecallstack); // } // List<SMECallStack> listtemp = SMECallStack.ParseFromException(exception); // if(listtemp != null) // m_listCallstack.AddRange(listtemp); //} // 생성자 // @stacktrace: null일 경우 thread 사용 안하는 경우로, 현재 Threa에서 Stacktrace 변수를 생성 public SMECallstackInformation(StackTrace stacktrace) { StackFrame[] stackframes; if (stacktrace == null) stackframes = new StackTrace(true).GetFrames(); else stackframes = stacktrace.GetFrames(); foreach (StackFrame item in stackframes) { SMECallStack smecallstack = new SMECallStack(item); AddCallStack(smecallstack); } }
private void AddCallStack(SMECallStack smecallstack) { m_listCallstack.Add(smecallstack); }