本文整理汇总了C#中Frame.getThis方法的典型用法代码示例。如果您正苦于以下问题:C# Frame.getThis方法的具体用法?C# Frame.getThis怎么用?C# Frame.getThis使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Frame
的用法示例。
在下文中一共展示了Frame.getThis方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: appendFrameInfo
/// <summary> Spit out frame information for a given frame number </summary>
internal virtual bool appendFrameInfo(System.Text.StringBuilder sb, Frame ctx, int frameNumber, bool showThis, bool showFileId)
{
bool validFrame = true;
// some formatting properties
int i = frameNumber;
Location loc = ctx.Location;
SourceFile file = loc.File;
int line = loc.Line;
String name = (file == null)?"<null>":file.Name; //$NON-NLS-1$
String sig = ctx.CallSignature;
String func = extractFunctionName(sig);
// file == null or line < 0 appears to be a terminator for stack info
if (file == null && line < 0)
{
validFrame = false;
}
else
{
Variable[] var = ctx.getArguments(m_session);
Variable dis = ctx.getThis(m_session);
bool displayArgs = (func != null) || (var != null);
sb.Append('#');
FieldFormat.formatLong(sb, i, 3);
sb.Append(' ');
if (showThis && dis != null)
{
ExpressionCache.appendVariable(sb, dis);
sb.Append("."); //$NON-NLS-1$
}
if (func != null)
sb.Append(func);
if (displayArgs)
{
sb.Append('(');
for (int j = 0; j < var.Length; j++)
{
Variable v = var[j];
sb.Append(v.getName());
sb.Append('=');
ExpressionCache.appendVariableValue(sb, v.getValue());
if ((j + 1) < var.Length)
sb.Append(", "); //$NON-NLS-1$
}
sb.Append(")"); //$NON-NLS-1$
sb.Append(LocalizationManager.getLocalizedTextString("atFilename")); //$NON-NLS-1$
}
sb.Append(name);
// if this file is currently being filtered put the source file id after it
if (file != null && (showFileId || !m_fileInfo.inFileList(file)))
{
sb.Append('#');
sb.Append(file.Id);
}
sb.Append(':');
sb.Append(line);
}
return validFrame;
}