Khắc phục lỗi dễ dàng hơn với SQL Debugger tích hợp trên dbForge Studio for SQL Server

Iworld.com.vn – Cùng tìm hiểu về SQL Debugger được tích hợp trên dbForge Studio for SQL Server!

SQL Debugger là một tính năng ưu việt của dbForge Studio for SQL Server, cho phép bạn khắc phục sự cố các tập lệnh Transact-SQL, stored procedures, triggers, và functions một cách dễ dàng và nhanh chóng. Khả năng gỡ lỗi tự động sẽ lược qua các tập lệnh trong quá trình tìm kiếm các nút thắt cổ chai (bottlenecks). Ngừng thoả hiệp về chất lượng code với T-SQL Debugger được tích hợp vào Studio for SQL Server.

Chức năng T-SQL Debugger

Với T-SQL Debugger, bạn sẽ được hỗ trợ thực thi từng bước (step-by-step), duyệt call stack, breakpoints và watches. Gỡ lỗi code của bạn ngay trong IDE, giúp bạn tiết kiệm thời gian và công sức, tránh các vấn đề về hiệu suất và giảm thiểu thời gian chết.
T-SQL Debugger được tích hợp trong dbForge Studio for SQL Server cho phép gỡ lỗi:

  • Stored Procedures
  • Triggers
  • Stored Functions
  • SQL scripts
  • Complex SQL queries (Các truy vấn SQL phức tạp)

SQL Debugger cho phép đi qua từng dòng mã, bước vào và ra các routines, procedures, và functions. Công cụ này hỗ trợ single-stepping, pausing và thiết lập breakpoints trong code, giúp dễ dàng đánh giá các biến và phân tích những thay đổi giá trị của chúng.

Những yêu cầu để tiến hành gỡ lỗi

Để bắt đầu gỡ lỗi, hãy đảm bảo rằng các yêu cầu sau được đáp ứng:

  • Các thành phần phía máy chủ (Server) và máy khách (Client) của T-SQL Debugger đã được cài đặt
  • Bật gỡ lỗi ngoại lệ tường lửa phía server và client
  • Tài liệu SQL Database Engine được kết nối bằng thông tin đăng nhập Windows Authentication hoặc SQL Server Authentication, là thành viên của vai trò máy chủ cố định sysadmin
  • Tài liệu SQL Database Engine được kết nối với Database Engine phiên bản từ SQL Server 2005 Service Pack 2 (SP2) trở lên
  • Database bạn đang làm việc không ở chế độ một người dùng

Gỡ lỗi Stored Procedure

T-SQL Debugger cung cấp tất cả các phương tiện cần thiết để bạn gỡ lỗi stored procedures (thủ tục lưu trữ) được lưu trữ ngay trong IDE bằng cách sử dụng các thao tác gỡ lỗi truyền thống như:

  • Đặt breakpoints
  • Đánh giá và chỉnh sửa các biến
  • Kiểm tra call stack
  • Bước vào, ra và xem các câu lệnh riêng lẻ
  • Tạm dừng việc thực hiện chương trình của bạn, v.v.

Công cụ Transact-SQL Debugger được xây dựng để phù hợp với các nhu cầu khắt khe nhất. Cửa sổ Call stack cho phép theo dõi các bản ghi đến các thủ tục lồng nhau. Cửa sổ Watches hiển thị khả năng đánh giá các biến và tham số (parameters) được lưu trữ trong SQL.

Gỡ lỗi Trigger

Để đảm bảo rằng trigger của bạn đang chạy và được gọi chính xác, bạn nên gỡ lỗi nó. Quá trình gỡ lỗi trigger có thể rắc rối vì chúng thực hiện các hoạt động phức tạp một cách âm thầm.
Nếu trigger của bạn được kích hoạt bởi stored procedure, bạn có thể gỡ lỗi cả hai đối tượng database, bước vào hoặc qua trigger.

Gỡ lỗi Stored Function

Functions (hàm) thường không dễ chẩn đoán và gỡ lỗi. Công cụ Debugger đi kèm với dbForge Studio for SQL Server cho phép điều tra hành vi thời gian chạy của các hàm và phát hiện các lỗi logic một cách nhanh chóng.
Để gỡ lỗi một hàm, hãy mở thủ tục gọi hàm đó và chèn một breakpoint cho hàm bạn muốn gỡ lỗi. Sau đó, bắt đầu gỡ lỗi. Bước qua code bằng cách sử dụng phím F11 hoặc Step Into, hoặc nhấn CTRL+F5 để di chuyển trực tiếp đến breakpoint. Nhấn F11 hoặc click vào Step Into để vào bên trong stored function. Click Step Over sẽ tiếp tục bước qua stored procedure.

Gỡ lỗi SQL Script

Gỡ lỗi các truy vấn SQL lớn và phức tạp có thể là một nhiệm vụ khó khăn đối với bạn. Việc thực thi tập lệnh script gây ra lỗi không trực tiếp chỉ ra những chỗ có vấn đề trong tập lệnh. Tuy nhiên, T-SQL Debugger được tích hợp trong dbForge Studio for SQL Server sẽ hỗ trợ bạn việc đó.
Để gỡ lỗi một SQL script, hãy mở nó trong trình chỉnh sửa code SQL và bắt đầu gỡ lỗi. Sau đó, đặt breakpoints cho các câu lệnh nếu được yêu cầu. Nếu một câu lệnh không hợp lệ, một thông báo lỗi sẽ xuất hiện trong danh sách lỗi, mặc dù quá trình gỡ lỗi vẫn tiếp tục. Bạn có thể tạm ngừng gỡ lỗi truy vấn bằng cách chọn lệnh Stop Debugging từ Debug menu. Và cũng có thể sử dụng các lệnh bước (step commands) khác nhau để theo dõi SQL script.
Cửa sổ Call StackWatches cũng có sẵn cho nhiệm vụ gỡ lỗi này.

Thực thi các lệnh Step into, Step out và Step Debugging

Để thuận tiện cho người dùng, chức năng Transact-SQL Debugger của dbForge Studio for SQL Server tự hào về những kỹ thuật điều khiển giúp bạn quản lý gỡ lỗi các đối tượng database được lưu trữ
Step Into: Nếu code chứa lệnh gọi hàm, trình gỡ lỗi sẽ nhập hàm được gọi và tiếp tục gỡ lỗi từng dòng ở đó.
Step Over: Trong trường hợp dòng chứa một lệnh gọi hàm, hàm sẽ được thực thi và trả về kết quả mà không cần gỡ lỗi từng dòng.
Step Out: Nếu bạn đang ở trong một hàm và muốn quay lại stack frame trước đó, hãy dùng Step Out.
Các câu lệnh Continue, Stop debugging, và Restart cho phép bạn kiểm soát trực tiếp luồng quy trình gỡ lỗi.

Duyệt Call Stack

Để theo dõi stored procedures hoặc function, bạn có thể sử dụng cửa sổ Call Stack có sẵn trong giao diện debug. Cửa sổ Call Stack cũng có thể được dùng để tìm và phân tích các lỗi logic khi thực thi các truy vấn. Nó còn đại diện cho một stack frame của functions, stored procedures, và triggers đang được gọi theo thứ tự hiển thị function hoặc procedure gần đây nhất từ đầu cửa sổ.
Trong cửa sổ Call Stack, bạn có thể:

  • Điều hướng giữa những lần gọi
  • Xác định stack frame mà T-SQL debugger hiện đang được đặt (được chỉ ra bởi mũi tên màu vàng)
  • Xác định code mẹ đã gọi trigger (được chỉ ra bởi mũi tên xanh lá cây)
  • Phát hiện dòng lệnh nơi mà trình gỡ lỗi đã dừng quá trình thực thi
  • Chuyển sang mã nguồn (source code)

Làm việc với Breakpoints

Trong một phiên gỡ lỗi, các breakpoint (điểm ngắt) có thể được sử dụng để trì hoãn hoặc tạm dừng việc thực thi code để phân tích sâu vào code và đánh giá các biến. Các breakpoint bạn đặt trong code đang ở chế độ debug được hiển thị ở cửa sổ Breakpoints. Sau khi code ngắt, bạn có thể  sử dụng các lệnh Step Into, Step Over, Step Out hoặc Run để tiếp tục quá trình gỡ lỗi.
Trong giao diện Debug > Cửa sổ Breakpoints, bạn có thể quản lý breakpoints theo cách sau:

  • Xem danh sách breakpoints được đặt trong code cùng với các thuộc tính của nó
  • Xóa breakpoint đã chọn hoặc tất cả breakpoints
  • Kích hoạt hoặc vô hiệu breakpoints
  • Chuyển sang mã nguồn

Phân tích các biến trong tập lệnh Script

Trong khi xem qua code, bạn có thể thêm watches (biểu thức) nhằm đánh giá hoặc sửa đổi các biến cục bộ. Khi Transact-SQL debugger tạm dừng việc thực thi code, biểu thức sẽ được hiển thị trong cửa sổ Watches – chỉ có trong giao diện debug.
Cửa sổ Watches cho phép bạn xem các thông tin sau:

  • Name: Các biến và biểu thức chạy trong trình gỡ lỗi
  • Value: Kết quả giá trị của biểu thức được chỉ định trong cột Name. Giá trị dựa trên stack frame hiện tại được chọn trong cửa sổ Call Stack
  • Type: Kiểu dữ liệu của biểu thức

Biên dịch bởi Ngô Lâm Đoon – Iworld.com.vn