Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Function breakpoints allow entry of a condition / hit count but do not add the condition to the PS breakpoint

Đang mở
#5,319 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
powershell, typescript
Lĩnh vực
devtools

Hướng nghiên cứu

Bắt đầu từ phần xử lý trình gỡ lỗi của extension đối với các function breakpoint và so sánh với phần xử lý line breakpoint, sử dụng hành vi của CommandBreakpoint và Get-PSBreakpoint được mô tả trong báo cáo. Tái hiện các trường hợp về điều kiện và số lần trúng được nêu trong các bước, sau đó xác minh rằng PowerShell breakpoint kết quả có action mong đợi và không kích hoạt khi điều kiện của nó là false.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Issue-Bug Needs: Triage
Prerequisites
  • I have written a descriptive issue title.
  • I have searched all open and closed issues to ensure it has not already been reported.
  • I have read the troubleshooting guide.
  • I am sure this issue is with the extension itself and does not reproduce in a standalone PowerShell instance.
  • I have verified that I am using the latest version of Visual Studio Code and the PowerShell extension.
  • If this is a security issue, I have read the security issue reporting guidance.
Summary

In the breakpoints section of the debug window you can click the + icon and add a 'function' breakpoint (which will also work with aliases, scripts and external executables - trying to step into all of them), these breakpoints get a different icon and when the debugger runs a System.Management.Automation.CommandBreakpoint object is created in the PowerShell session.
Right clicking the breakpoint allows you to edit hit count or function condition. But the when the commandBreakpoint is created the condition is not added as an action as it is with a lineBreakpoint

PowerShell Version
Name                           Value
----                           -----
PSVersion                      7.5.4
PSEdition                      Core
GitCommitId                    7.5.4
OS                             Microsoft Windows 10.0.26200
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0


[DBG] PS>>$host

Name             : Visual Studio Code Host
Version          : 2025.4.0
InstanceId       : 780cf936-5214-4960-8b15-a871508190dd
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : en-GB
CurrentUICulture : en-GB
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled  : True
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace
Visual Studio Code Version
1.105.1
7d842fb85a0275a4a8e4d7e040d2625abbf7f084
x64
Extension Version
[email protected]
Steps to Reproduce

Save the following to a file
function test {
param($p)
process {
write-host $p
}
}

Write-Host "Line 1"
test 123
Write-Host "Line 2"

With debug selected, click the + icon on the breakpoints pane to add a function break point
enter "test"

start the debugger and run the script it should stop on the the process line continue and let the script exit.

Now click the pencil next to the Test function break point and enter $isLinux if you are NOT using linux and $isWindows if you are , to get something we no will evaluate false.

Start the debugger again - the breakpoint should not fire, but it does.
Run Get-PsBreakpoint and not there is no action.

Repeat the process setting a hit count.

For LINE break points actions ARE set for hit count or condition

Visuals

No response

Logs

No response

Ngôn ngữ chính
TypeScript
Star
1.9k
Fork
549
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của PowerShell/vscode-powershell

Tất cả issue của PowerShell/vscode-powershell

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.