IVsLanguageDebugInfo.ValidateBreakpointLocation-Methode
Überprüft die angegebenen Position als Position, einen Haltepunkt festzulegen.
Namespace: Microsoft.VisualStudio.TextManager.Interop
Assembly: Microsoft.VisualStudio.TextManager.Interop (in Microsoft.VisualStudio.TextManager.Interop.dll)
Syntax
'Declaration
Function ValidateBreakpointLocation ( _
pBuffer As IVsTextBuffer, _
iLine As Integer, _
iCol As Integer, _
<OutAttribute> pCodeSpan As TextSpan() _
) As Integer
int ValidateBreakpointLocation(
IVsTextBuffer pBuffer,
int iLine,
int iCol,
TextSpan[] pCodeSpan
)
int ValidateBreakpointLocation(
[InAttribute] IVsTextBuffer^ pBuffer,
[InAttribute] int iLine,
[InAttribute] int iCol,
[OutAttribute] array<TextSpan>^ pCodeSpan
)
abstract ValidateBreakpointLocation :
pBuffer:IVsTextBuffer *
iLine:int *
iCol:int *
pCodeSpan:TextSpan[] byref -> int
function ValidateBreakpointLocation(
pBuffer : IVsTextBuffer,
iLine : int,
iCol : int,
pCodeSpan : TextSpan[]
) : int
Parameter
pBuffer
Typ: Microsoft.VisualStudio.TextManager.Interop.IVsTextBuffer[in] Die IVsTextBuffer-Schnittstelle für den Textpuffer, der den Haltepunkt enthält.
iLine
Typ: Int32[in] Nummer der Zeile, die den Haltepunkt enthält.
iCol
Typ: Int32[in] Nummer der Spalte, die den Haltepunkt enthält.
pCodeSpan
Typ: array<Microsoft.VisualStudio.TextManager.Interop.TextSpan[][out] Gibt einen Textabschnitt zurück, der den Umfang einer Anweisung enthält, zu der die Ausführung beendet wird, wenn der Haltepunkt festgelegt wurden.
Rückgabewert
Typ: Int32
Wenn die Methode erfolgreich ausgeführt, gibt sie S_OKzurück.Bei einem Fehler wird ein Fehlercode zurückgegeben.
Hinweise
COM-Signatur
Von textmgr.idl:
HRESULT IVsLanguageDebugInfo::ValidateBreakpointLocation(
[in] IVsTextBuffer *pBuffer,
[in] long iLine,
[in] long iCol, ]
[out] TextSpan *pCodeSpan
);
Diese Methode überprüft die angegebenen Position als Ort, um einen Haltepunkt festzulegen, ohne den Debugger zu laden. Wenn der Pfad gültig ist, wird die Spanne mit dem Umfang der Anweisung eingetragen, an der die Ausführung beendet werden kann. Wenn die Position, keinen Code enthalten soll bekannt ist, gibt diese Methode S_FALSEzurück. Wenn die Methode fehlschlägt, wird der Haltepunkt während der Validierung während des Debuggers starts festgelegt.
Warnung
Selbst wenn Sie nicht beabsichtigen, die ValidateBreakpointLocation-Methode zu unterstützen, aber die Sprache unterstützt Haltepunkte, müssen Sie diese Methode implementieren und eine Spanne zurück, die die angegebene Zeile und die Spalte enthält. Andernfalls können Haltepunkte nicht nirgends außer Zeile 1 festgelegt werden.Sie können E_NOTIMPL zurückgeben, um anzugeben, dass Sie nicht anderweitig diese Methode unterstützen, aber die Spanne immer festgelegt werden muss.Das Beispiel zeigt, wie dieses durchgeführt werden kann.
Beispiele
Im Folgenden ein partielles Beispiel dafür, wie diese Methode implementiert werden kann. Dieses Beispiel zeigt, wie die Spanne auf einen Standardwert festgelegt werden, damit arbeiten Haltepunkte korrekt angezeigt.
using Microsoft.VisualStudio;
using Microsoft.VisualStudio.TextManager.Interop;
namespace MyLanguagePackage
{
public class MyLanguageService : IVsLanguageInfo, IVsLanguageDebugInfo
{
public int ValidateBreakpointLocation(IVsTextBuffer buffer,
int line,
int col,
TextSpan[] pCodeSpan)
{
int retval = VSConstants.E_NOTIMPL;
if (pCodeSpan != null)
{
// Make sure the span is set to at least the current
// position by default.
pCodeSpan[0].iStartLine = line;
pCodeSpan[0].iStartIndex = col;
pCodeSpan[0].iEndLine = line;
pCodeSpan[0].iEndIndex = col;
}
if (buffer != null)
{
// Use your parser to obtain the span that describes the
// the code containing the specified position. If the span
// is valid, return S_OK with the valid span; otherwise,
// returns S_FALSE (leaving the default span alone).
//
// GetCodeSpanForLocation() is a helper function not shown.
retval = VSConstants.S_FALSE;
TextSpan span = new TextSpan();
if (GetCodeSpanForLocation(buffer, line, col, out span))
{
pCodeSpan[0] = span;
retval = VSConstants.S_OK;
}
}
return retval;
}
}
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.