在GDB之类的调试器中,当您在断点处停止时,您可以轻松地向上移动调用堆栈并检查相关的源和堆栈帧数据。
你如何在Eclipse中做到这一点?
答案 0 :(得分:51)
在“debug perspective”中,显示名为“debug”的视图。对于当前暂停的每个线程,此视图显示完整的调用堆栈。单击此堆栈的一个元素将切换编辑器视图以显示相应的类,“variables”视图将显示此堆栈元素的变量。
答案 1 :(得分:2)
请注意,默认情况下,“Debug Perspective”可能会折叠为“breadcrumb”视图模式,这意味着您一次只能看到一行堆栈跟踪。
要完全展开它,并在树中查看堆栈跟踪:
答案 2 :(得分:1)
只需在Debug视图中单击堆栈帧即可。
答案 3 :(得分:1)
在可视化调试器中,您将看到整个堆栈跟踪。只需点击您要检查的级别即可。绝对比使用 gdb 命令更容易。 : - )
答案 4 :(得分:0)
首先,在您将要命中的代码中设置一个或多个断点,然后以下列方式之一调试应用程序:
CREATE TRIGGER patientLastNameChangeTrigger
ON patient
AFTER UPDATE
AS
BEGIN
DECLARE @oldLastName VARCHAR(255) = (SELECT pt_lastName FROM DELETED);
DECLARE @newLastName VARCHAR(255) = (SELECT pt_lastName FROM INSERTED);
IF @oldLastName <> @newLastName
INSERT INTO dbo.patientLastNameChange (lastnameChangeID, patientID, oldLastName, newLastName, datechanged)
SELECT
COALESCE(MAX(plnc.lastnameChangeID),0)+1 AS lastnameChangeID,
(SELECT patientID FROM INSERTED) AS patientID,
@oldLastName AS oldLastName,
@newLastName AS newLastName,
GETDATE() AS datechanged
FROM patientLastNameChange plnc;
END;
方法的文件或
main
方法的文件Eclipse现在应该显示“调试透视图”(可以使用“窗口”>“透视图”>“打开透视图”>“调试”手动打开)
一旦遇到一个断点,您应该在调试透视图中看到一个名为“调试”的框(要手动打开,请使用“窗口”>“显示视图”>“调试”)。看起来像这样:
我变灰的区域显示了当前在断点上暂停的线程的堆栈跟踪的每一步。当前正在暂停的调用堆栈的实际部分以灰色突出显示(因此,如果您有多个线程,可以通过查找突出显示的行来查看当前正在暂停的线程)。单击堆栈跟踪视图的任意行将显示详细信息(例如,堆栈中该点的“变量”)