Bir Robot Programında Debugging -Hata Ayıklama
Kaçınılmaz olarak, bir program beklediğimiz şekilde davranmayabilir. Bu gerçekleştiğinde, programın bunu neden yaptığını yaptığını anlamamız gerekir, böylece yapmasını istediğimiz şeyi yapmasını sağlayabiliriz. Bu tür istenmeyen program davranışına “bug” hata adı verilir ve düzeltme işlemine “debugging” hata ayıklama denir.
Hata ayıklayıcı, bir programda hata ayıklamaya yardımcı olmak için program akışını kontrol etmek ve değişkenleri izlemek için kullanılan bir araçtır. Bu bölümde bir FRC ® için bir hata ayıklama oturumunun nasıl ayarlanacağı açıklanacaktır. robot programı.
Not
Programlarında hata ayıklaması gereken, ancak bir hata ayıklayıcının -debugger nasıl kullanılacağını bilmeyen/öğrenmeye vakti olmayan yeni başlayan kullanıcılar için, genellikle, yalnızca ilgili program durumunu konsola yazdırarak bir programda hata ayıklamak mümkündür. Ancak, öğrencilerin sonunda bir hata ayıklayıcı-debugger kullanmayı öğrenmeleri şiddetle tavsiye edilir.
Hata Ayıklayıcının Çalıştırılması

WPILib önceden doldurulmuş Komut paletini açmak için kbd: Ctrl + Shift + P ye basın ve` WPILib` yazın veya WPILib Menu Item Menü Öğesi’ne tıklayın. Hata ayıklamayı başlatmak için Debug yazın ve Debug Robot Code menü öğesini seçin. Kod roboRIO’ya indirilecek ve hata ayıklamaya başlayacaktır.
Breakpoints-Duraksatma Noktaları
“breakpoint-kesme noktası”, kullanıcının program durumunu inceleyebilmesi için hata ayıklayıcının program yürütmesini duraklatacağı bir kod satırıdır. Bu, kullanıcının programın beklenen davranıştan tam olarak nerede saptığını belirlemek için sorunlu koddaki belirli noktalarda programı duraklatmasına izin verdiği için hata ayıklama sırasında son derece yararlıdır.
Hata ayıklayıcı, karşılaştığı ilk breakpoint da otomatik olarak durur.
Breakpoint-Duraksatma Noktası Belirleme

Kullanıcı programınızda bir kesme noktası ayarlamak için kaynak kodu penceresinin sol kenar boşluğunu (satır numarasının solunda) tıklayın : Küçük kırmızı bir daire, ilgili satırda kesme noktasının ayarlandığını gösterir.
Baskı İfadeleri ile Hata Ayıklama
Programınızda hata ayıklamanın başka bir yolu, kodunuzda yazdırma deyimleri kullanmak ve bunları RioLog’u Visual Studio Code veya Driver Station’da kullanarak görüntülemektir. Özellikle yüksek miktarlarda kullanıldıklarında çok verimli olmadıkları için baskı tabloları dikkatle eklenmelidir. Döngü taşmalarına neden olabileceğinden rekabet için kaldırılmalıdırlar.
System.out.print("example");
wpi::outs() << "example\n";
Debugging with NetworkTables
NetworkTables can be used to share robot information with your debugging computer. NetworkTables can be viewed with your favorite Dashboard or OutlineViewer. One advantage of NetworkTables is that tools like Shuffleboard can be used to graphically analyze the data. These same tools can then be used with same data to later provide an operator interface for your drivers.
Daha fazla bilgi edin
To learn more about debugging with VS Code see this link.
Some of the features mentioned in this VS Code article will help you understand and diagnose problems with your code. The Quick Fix (yellow light bulb) feature can be very helpful with a variety of problems including what to import.
Bu kadar çok sorunda hata ayıklama zorunluluğunu önlemenin en iyi yollarından biri Birim Testi yapmaktır.
Robotunuzun çalıştığını doğrulamak Simulation gerçek robot üzerinde karmaşık hata ayıklama yapmak zorunda kalmayı önlemek için de harika bir yoldur.