DkmClrInstructionAddress.IsUserCodeWithoutCheckingLineInfo Method

Definition

Helper method implemented by the managed DM and used by the shim EE to determine if a method is user code while we're walking async return stacks. We won't want to use the regular IsUserCode() method because that method makes a round trip to the symbol provider to see if there's line info. To avoid this, we use this method to have the managed DM do its other checks. Then, when the shim EE returns to the symbol provider, the symbol provider will then check for line info. Doing it this way allows the entire managed return stack to be calculated in one round trip to the remote side, without the need for extra chatting back and forth just to determine if return stack frames are user code or not.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

public:
 bool IsUserCodeWithoutCheckingLineInfo();
public:
 bool IsUserCodeWithoutCheckingLineInfo();
bool IsUserCodeWithoutCheckingLineInfo();
public bool IsUserCodeWithoutCheckingLineInfo ();
member this.IsUserCodeWithoutCheckingLineInfo : unit -> bool
Public Function IsUserCodeWithoutCheckingLineInfo () As Boolean

Returns

[Out] True if the provided instruction address is user code.

Applies to