Debug PowerShell with and without VS Code

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 มิ.ย. 2024
  • In this video I walk through how to debug PowerShell code using VS Code native features and the native PowerShell debugger.
    My demo file - github.com/johnthebrit/Random...
    PowerShell 7 - github.com/PowerShell/PowerShell
    VS Code - code.visualstudio.com/download
    00:00 Introduction
    03:38 Sample project
    06:00 Adding breakpoints
    07:05 Using the debugger
    08:40 Step into and over
    13:55 Demo code walk through
    16:30 Function breakpoints
    22:10 Get-PSBreakpoint
    24:40 Expression and hit count breakpoints
    29:10 Call stack
    30:03 Create breakpoint from powershell
    31:00 Native PowerShell debugging
    35:27 Mixing commands together
    39:55 Summary and close
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 34

  • @P0cketfull0fsunshine
    @P0cketfull0fsunshine 3 ปีที่แล้ว +8

    Thanks for this John. I've been using VSCode and PowerShell together for a while now but never bothered to explore the debugging options. Really useful and well explained as usual.

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว

      Great to hear!

    • @geroffmilan3328
      @geroffmilan3328 ปีที่แล้ว

      I've been using it for about 2 years now, and VSCide is great... but I still cannot figure out how to get debugging to work, given that I need to use Windows PowerShell v5.x AND PWSH v7.
      I have both terminals in my workspace, but my v5.x terminal can't seem to find modules which are installed in the v5.x module paths.
      Guess I'll continue to debug by hand in the relevant terminal!

  • @edwinpaul8474
    @edwinpaul8474 3 ปีที่แล้ว +2

    Great video John. Thanks for explaining the debug concept so well. The Breakpoint Debug Expression/Hit Count was new to me. This definitely helps. Thanks again!!

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว

      Glad it was helpful!

  • @sirsquirrel0
    @sirsquirrel0 2 ปีที่แล้ว +1

    Nice one John. Enjoyed the content. All the best.

  • @Our1stPlanet
    @Our1stPlanet ปีที่แล้ว

    Excellent, one of the best videos that I have ever seen.

  • @ZivRivkis
    @ZivRivkis 3 ปีที่แล้ว +1

    Very easy and helpful demo. Thanks John!

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว

      Welcome, thanks for watching

  • @maxhax4243
    @maxhax4243 3 ปีที่แล้ว

    I predicted that this video was coming.
    Excellent approach and examples, as always :)

  • @danamatt2
    @danamatt2 3 ปีที่แล้ว

    Well done. Nice and concise!
    Although I would have to say; I wouldn't bet on scissors, the odds would be against me!!! In other words; you have another bug (not that the steps you provided would help much with this one. It needs more of a unit test approach). -Maximum doesn't do what one (me for sure) might assume:
    1..1000 | % {Get-Random -Minimum 1 -Maximum 9} | group | select name,count

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว +1

      hehe, nice, thanks :-D -Maximum 10 it is

  • @MallocArray
    @MallocArray 2 ปีที่แล้ว

    Thanks for this. I knew there was a debugger in VS Code but I had problems with getting it to do what I expected when I first switched and never went back to it. Now I'll give it another shot.

    • @NTFAQGuy
      @NTFAQGuy  2 ปีที่แล้ว

      Awesome, good luck!

  • @iamdedlok
    @iamdedlok 3 ปีที่แล้ว

    Good stuff John! I learnt a couple of new things today! I never really used the power of step over, step out before! Now watching you do it was like an 'aha!' moment. I feel so dumb not using it before!! Conditional breakpoints are very common in .NET, I super psyched to see PowerShell/vscode supporting this.
    Thanks again John, I have shared this video with my friends :)

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว

      Glad it was helpful!

  • @psymonious
    @psymonious 3 ปีที่แล้ว +1

    That was great! So far I used it just from time to time, but I think this video just bumped up my confidence to prefer this method. It is way more efficient!

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว

      Awesome! Took me a while as well :)

  • @jcgermain6280
    @jcgermain6280 2 ปีที่แล้ว

    I'm a newbe... And after the video, I had the feeling to be an expert, I'm not :-) Great video, everything needed for a sound start. Congrat !

    • @NTFAQGuy
      @NTFAQGuy  2 ปีที่แล้ว

      Glad it was helpful!

  • @mackarof77
    @mackarof77 2 ปีที่แล้ว

    i know 2 guys from usa and both of them are powershell coders and power-lifters or ironmans in spare time what a coincidence - or fact that all powershell guys doin power-trainings also ? its good that myth is falling and become untrue - to being coder is to be unhealthy zombie attached to monitor whole day :D Great stuff dude 'kalokagathians' still exists! :)greetings from slovakia and cheers to all power-people :)

    • @NTFAQGuy
      @NTFAQGuy  2 ปีที่แล้ว +1

      Power for power :)

  • @erichanson5628
    @erichanson5628 8 หลายเดือนก่อน

    Brilliant!

  • @gopeisho
    @gopeisho 2 ปีที่แล้ว

    This came in very handy the other day in debugging a foreach loop that was giving a bad value every 7th user in the loop.

    • @NTFAQGuy
      @NTFAQGuy  2 ปีที่แล้ว

      Awesome!

  • @ToTCaMbIu
    @ToTCaMbIu 2 ปีที่แล้ว

    Commenting for algorithm ! :)

  • @kristurk1
    @kristurk1 3 ปีที่แล้ว

    Good Video John, Although I spent the first 20 minutes wondering when you were going to start inputting your choice i.e. playing against the code :P

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว +1

      lol, I didn't want to constantly lose :-D My DevOps master class we'll do that ;-)

    • @iamdedlok
      @iamdedlok 3 ปีที่แล้ว

      @@NTFAQGuy Looking forward to that good sir! I guess you will be using Bicep as an IaC tool?

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว +1

      @@iamdedlok 🤫

  • @jackgleeson8321
    @jackgleeson8321 3 ปีที่แล้ว

    Do you think Microsoft might fully remove powershell from Windows 10 in future versions? In favour of ps 7 and vs code.

    • @NTFAQGuy
      @NTFAQGuy  3 ปีที่แล้ว

      There are benefits in it not being part of the os in terms of how they can update, add features etc so honestly don’t know.