/// <summary> /// Gets the reason for the genesis of this calling chain. /// </summary> public int GetReason(out CorDebugChainReason reason) { int @ref = default; int result = Calli(_this, This[0]->GetReason, &@ref); reason = (CorDebugChainReason)@ref; return(result); }
public CorChain(ICorDebugChain chain) : base(chain) { int hr = chain.IsManaged(out int isManaged); IsManaged = hr >= 0 && isManaged != 0; hr = chain.GetReason(out reason); if (hr < 0) { reason = 0; } hr = chain.GetStackRange(out rangeStart, out rangeEnd); if (hr < 0) { rangeStart = rangeEnd = 0; } }
public CorChain(ICorDebugChain chain) : base(chain) { int isManaged; int hr = chain.IsManaged(out isManaged); this.isManaged = hr >= 0 && isManaged != 0; hr = chain.GetReason(out this.reason); if (hr < 0) { this.reason = 0; } hr = chain.GetStackRange(out this.rangeStart, out this.rangeEnd); if (hr < 0) { this.rangeStart = this.rangeEnd = 0; } //TODO: ICorDebugChain::GetContext //TODO: ICorDebugChain::GetRegisterSet }
int ICorDebugChain.GetReason(out CorDebugChainReason pReason) { pReason = m_thread.IsVirtualThread ? CorDebugChainReason.CHAIN_FUNC_EVAL : CorDebugChainReason.CHAIN_NONE; return(COM_HResults.S_OK); }
int ICorDebugChain. GetReason( out CorDebugChainReason pReason ) { pReason = m_thread.IsVirtualThread ? CorDebugChainReason.CHAIN_FUNC_EVAL : CorDebugChainReason.CHAIN_NONE; return Utility.COM_HResults.S_OK; }