SlideShare a Scribd company logo
Mã nhân viên: MF1432
Họ và tên: Trần Thái Tuấn
Debug bài Fresher: Nguyễn Văn Quang
Mô tả luồng tính năng Thêm Mới dữ liệu
 Front-end:
- Bắt đầu từ sự kiện: Cất và Thêm
- Gọi tới hàm: saveAndAddBtnOnClick()
- Xử lý hàm:
 Validate dữ liệu với hàm isValid().
 Kiểm tra isAdd, nếu isAdd == true thì thực hiện thêm.
 Gọi tới API thêm mới
- API: https://localhost:7199/api/v1/Employees
- Sau khi có dữ liệu từ api trả về:
 Xử lý dữ liệu:
 Reset form nhân viên
 Emit truyền dữ liệu cho component cha chưa đóng
component con
 Lỗi:
 Errorcode: 0
 DevMsg: Xảy ra exception
 UserMsg: Có lỗi xảy ra! Vui lòng liên hệ MISA
 MoreInfo: Exception.Message
 TraceID: HttpContext.TraceIdentifier
 Back-end:
o Được tổ gồm 5 project:
 API
 BL
 BL.UnitTests
 DL
 Common
o Từ Api thêm mới gọi tới các hàm nào, thuộc Project nào, làm gì
Tên hàm Tên
Project
Công việc
public IActionResult
Insert(T newRecord)
API Trả về statuscode và các thông tin
kèm theo
public ServiceResult
Insert(T newRecord)
BL  Chuyển dữ liệu sang JSON
 Trả về:
- ServiceResult tình trạng
thêm thành công hay chưa
- Số bản ghi bị ảnh hưởng
trong database
public virtual ServiceResult
ValidateRequiredData(T
record)
BL  Thực hiện validate dữ liệu
public override void
BeforeInsertOrUpdate(ref
Employee employee)
BL  Thực hiện xử lý tách mã nhân
viên làm 2 phần
public int Insert(Guid
newRecordId, string
newRecord)
DL  gọi tới procedure thêm mới trong
database
 Xử lý lỗi/ dữ liệu trả về cho Front-end phía Back-end:
 Thành công:
 Trả về status code 201
 Số bản ghi bị ảnh hưởng
 Lỗi:
 Errorcode: 0
 DevMsg: Xảy ra exception
 UserMsg: Có lỗi xảy ra! Vui lòng liên hệ MISA
 MoreInfo: Exception.Message
 TraceID: HttpContext.TraceIdentifier
 Mô tả các phím tắt mở các cửa sổ Debug trong Visual Studio và ý nghĩa
của các của sổ:
 Phím tắt mở các cửa sổ Debug:
 Call Stack:
 Ý nghĩa, vai trò: Dùng để xem các lời gọi hàm hoặc thủ tục hiện có
trong Stack
 Phím tắt: Ctrl + Alt + C
 Autos:
 Ý nghĩa, vai trò: Theo dõi các biến global
 Phím tắt: Ctrl + Alt + V, A
 Locals: Theo dõi các biến local
 Ý nghĩa, vai trò:
 Phím tắt: Ctrl + Alt + V, L
 Quick Watch: Theo dõi nhanh biến nào đó
 Ý nghĩa, vai trò:
 Phím tắt: Shift + F9
 Watch:
 Ý nghĩa, vai trò: Watch Window là cửa sổ sử dụng để theo dõi sự
thay đổi giá trị của các biến (local hay global đều được hết)
 Phím tắt: Ctrl + Alt + W, 1 | 2 | 3
 BreackPoints:
 Ý nghĩa, vai trò: Theo dõi các breakpoint được đặt
 Phím tắt: Ctrl + Alt + B
 Các phím tắt sử dụng trong quá trình Debug:
 F5: Nhảy đến vị trí breakpoint tiếp theo
 Shift + F5: Tắt debug
 F9: Đặt/Gỡ breakpoint tại vị trí nháy chuột
 F10: Nhảy xuống dòng
 Ctrl+10: Nhảy đến dòng vị trí nháy chuột
 F11: Nhảy vào hàm vị trí nháy chuột
 F12: Nhảy vào interface của hàm vị trí nháy chuột
 Ctrl + -: Quay lại vị trí trước
 Debug Condition là debug với breakpoint có điều kiện
 Ý nghĩa: Nhảy tới breakpoint này khi thỏa mãn điều kiện đã được thêm
 Phím tắt: Alt + F9, C (sau khi bật debug)
 Ý nghĩa cửa sổ Output, Error List, Task List
 Output:
 Ý nghĩa: Cửa sổ Đầu ra hiển thị thông báo trạng thái cho các tính
năng khác nhau trong môi trường
 Phím tắt: Ctrl + Alt + O
 Error List:
 Ý nghĩa: Cửa sổ hiển thị danh sách lỗi, cảnh báo và tin nhắn
 Phím tắt: Ctrl +  + E
 Task List:
 Ý nghĩa: Để theo dõi các code comments sử dụng token như TODO
và HACK, hoặc các custom token và để quản lý lối tắt đến vị trí
được xác định trước trong mã
 Phím tắt: Ctrl +  + T
 Mô tả các cửa sổ hỗ trợ Debug trong ChromeDevTool:
o Call Stack: Dùng để xem các lời gọi hàm hoặc thủ tục hiện có trong Stack
(Thường dùng để tìm tên hàm được gọi đến trong quá trình thực thi một chức
năng).
o Local: Theo dõi các biến trong phạm vi cục bộ.
o Watch: Theo dõi sự thay đổi của biến bất kể phạm vi toàn cục hay cục bộ.
o XHR/fetch Breakpoints:
 Sử dụng XHR breakpoint khi request URL chứa một chuỗi được chỉ
định. DevTools dừng tại dòng code nơi xuất hiện chuỗi.
o Console: Theo dõi biến nhanh
o Network:
 Xem các request đã được gửi đi
 Xem các thông tin nhận về
 Block các request không mong muốn
 Kiểm thử trang web với các điều kiện khác nhau (internet chậm nhanh,
cache có hoặc không...)
 Nêu các bước thực hiện sửa lỗi trong ứng dụng.
- Bước 1: Tái lặp và phân tích để khoanh vùng phần code lỗi
- Bước 2: Xác định nguyên nhân lỗi, nguyên nhân gốc rễ gây ra lỗi
- Bước 3: Sửa lỗi và kiểm tra lại. Phân tích phạm vi ảnh hưởng.

More Related Content

DOCX
Cac ham trong C# - 2555555555555555555555
PDF
Debug trong c
DOC
Bai tap lap trinh c
PDF
Bai 4 lap trình phia client
PDF
Chuan viet code va thiet ke giao dien trong C#
DOCX
Lab lap trinhmang_v3
PDF
C2 basics of_c_and_cpp
Cac ham trong C# - 2555555555555555555555
Debug trong c
Bai tap lap trinh c
Bai 4 lap trình phia client
Chuan viet code va thiet ke giao dien trong C#
Lab lap trinhmang_v3
C2 basics of_c_and_cpp

Similar to Kỹ năng debug c# (20)

PDF
C2 basics of_c_and_cpp
PPT
Unit Test
PPT
Asp
PDF
Con tro ham c++
PDF
Chuong 01 mo dau
PDF
Chuong 01
PDF
Lap trinh c_tu_co_ban_den_nang_cao
PDF
Lap trinh c_tu_co_ban_den_nang_cao
PDF
Meo lap trinh_tech24.vn
PPTX
Project - Ham - Chuong trinh con trong C++.pptx
PDF
PDF
Cq lt hdt-th2011-02-tuan04
 
PDF
Bài tập mẫu C và C++ có giải
PDF
Co ban ve_matlab
DOC
Chiêu thức lập trình
PDF
Lập trình C cơ bản cho vi điều khiển
PDF
Giao trinh bai tap c va c++
PDF
Giao trinh bai tap c va c++
PPT
Nmlt c06 ham
DOCX
Jniについて
C2 basics of_c_and_cpp
Unit Test
Asp
Con tro ham c++
Chuong 01 mo dau
Chuong 01
Lap trinh c_tu_co_ban_den_nang_cao
Lap trinh c_tu_co_ban_den_nang_cao
Meo lap trinh_tech24.vn
Project - Ham - Chuong trinh con trong C++.pptx
Cq lt hdt-th2011-02-tuan04
 
Bài tập mẫu C và C++ có giải
Co ban ve_matlab
Chiêu thức lập trình
Lập trình C cơ bản cho vi điều khiển
Giao trinh bai tap c va c++
Giao trinh bai tap c va c++
Nmlt c06 ham
Jniについて
Ad

Kỹ năng debug c#

  • 1. Mã nhân viên: MF1432 Họ và tên: Trần Thái Tuấn Debug bài Fresher: Nguyễn Văn Quang Mô tả luồng tính năng Thêm Mới dữ liệu  Front-end: - Bắt đầu từ sự kiện: Cất và Thêm - Gọi tới hàm: saveAndAddBtnOnClick() - Xử lý hàm:  Validate dữ liệu với hàm isValid().  Kiểm tra isAdd, nếu isAdd == true thì thực hiện thêm.  Gọi tới API thêm mới - API: https://localhost:7199/api/v1/Employees - Sau khi có dữ liệu từ api trả về:  Xử lý dữ liệu:  Reset form nhân viên  Emit truyền dữ liệu cho component cha chưa đóng component con  Lỗi:  Errorcode: 0  DevMsg: Xảy ra exception  UserMsg: Có lỗi xảy ra! Vui lòng liên hệ MISA  MoreInfo: Exception.Message  TraceID: HttpContext.TraceIdentifier  Back-end: o Được tổ gồm 5 project:  API  BL  BL.UnitTests  DL  Common o Từ Api thêm mới gọi tới các hàm nào, thuộc Project nào, làm gì
  • 2. Tên hàm Tên Project Công việc public IActionResult Insert(T newRecord) API Trả về statuscode và các thông tin kèm theo public ServiceResult Insert(T newRecord) BL  Chuyển dữ liệu sang JSON  Trả về: - ServiceResult tình trạng thêm thành công hay chưa - Số bản ghi bị ảnh hưởng trong database public virtual ServiceResult ValidateRequiredData(T record) BL  Thực hiện validate dữ liệu public override void BeforeInsertOrUpdate(ref Employee employee) BL  Thực hiện xử lý tách mã nhân viên làm 2 phần public int Insert(Guid newRecordId, string newRecord) DL  gọi tới procedure thêm mới trong database  Xử lý lỗi/ dữ liệu trả về cho Front-end phía Back-end:  Thành công:  Trả về status code 201  Số bản ghi bị ảnh hưởng  Lỗi:  Errorcode: 0  DevMsg: Xảy ra exception  UserMsg: Có lỗi xảy ra! Vui lòng liên hệ MISA  MoreInfo: Exception.Message  TraceID: HttpContext.TraceIdentifier
  • 3.  Mô tả các phím tắt mở các cửa sổ Debug trong Visual Studio và ý nghĩa của các của sổ:  Phím tắt mở các cửa sổ Debug:  Call Stack:  Ý nghĩa, vai trò: Dùng để xem các lời gọi hàm hoặc thủ tục hiện có trong Stack  Phím tắt: Ctrl + Alt + C  Autos:  Ý nghĩa, vai trò: Theo dõi các biến global  Phím tắt: Ctrl + Alt + V, A  Locals: Theo dõi các biến local  Ý nghĩa, vai trò:  Phím tắt: Ctrl + Alt + V, L  Quick Watch: Theo dõi nhanh biến nào đó  Ý nghĩa, vai trò:  Phím tắt: Shift + F9  Watch:  Ý nghĩa, vai trò: Watch Window là cửa sổ sử dụng để theo dõi sự thay đổi giá trị của các biến (local hay global đều được hết)  Phím tắt: Ctrl + Alt + W, 1 | 2 | 3  BreackPoints:  Ý nghĩa, vai trò: Theo dõi các breakpoint được đặt  Phím tắt: Ctrl + Alt + B  Các phím tắt sử dụng trong quá trình Debug:  F5: Nhảy đến vị trí breakpoint tiếp theo  Shift + F5: Tắt debug  F9: Đặt/Gỡ breakpoint tại vị trí nháy chuột  F10: Nhảy xuống dòng  Ctrl+10: Nhảy đến dòng vị trí nháy chuột  F11: Nhảy vào hàm vị trí nháy chuột  F12: Nhảy vào interface của hàm vị trí nháy chuột  Ctrl + -: Quay lại vị trí trước  Debug Condition là debug với breakpoint có điều kiện
  • 4.  Ý nghĩa: Nhảy tới breakpoint này khi thỏa mãn điều kiện đã được thêm  Phím tắt: Alt + F9, C (sau khi bật debug)  Ý nghĩa cửa sổ Output, Error List, Task List  Output:  Ý nghĩa: Cửa sổ Đầu ra hiển thị thông báo trạng thái cho các tính năng khác nhau trong môi trường  Phím tắt: Ctrl + Alt + O  Error List:  Ý nghĩa: Cửa sổ hiển thị danh sách lỗi, cảnh báo và tin nhắn  Phím tắt: Ctrl + + E  Task List:  Ý nghĩa: Để theo dõi các code comments sử dụng token như TODO và HACK, hoặc các custom token và để quản lý lối tắt đến vị trí được xác định trước trong mã  Phím tắt: Ctrl + + T  Mô tả các cửa sổ hỗ trợ Debug trong ChromeDevTool: o Call Stack: Dùng để xem các lời gọi hàm hoặc thủ tục hiện có trong Stack (Thường dùng để tìm tên hàm được gọi đến trong quá trình thực thi một chức năng). o Local: Theo dõi các biến trong phạm vi cục bộ. o Watch: Theo dõi sự thay đổi của biến bất kể phạm vi toàn cục hay cục bộ. o XHR/fetch Breakpoints:  Sử dụng XHR breakpoint khi request URL chứa một chuỗi được chỉ định. DevTools dừng tại dòng code nơi xuất hiện chuỗi. o Console: Theo dõi biến nhanh o Network:  Xem các request đã được gửi đi  Xem các thông tin nhận về  Block các request không mong muốn  Kiểm thử trang web với các điều kiện khác nhau (internet chậm nhanh, cache có hoặc không...)
  • 5.  Nêu các bước thực hiện sửa lỗi trong ứng dụng. - Bước 1: Tái lặp và phân tích để khoanh vùng phần code lỗi - Bước 2: Xác định nguyên nhân lỗi, nguyên nhân gốc rễ gây ra lỗi - Bước 3: Sửa lỗi và kiểm tra lại. Phân tích phạm vi ảnh hưởng.