Szukaj…


Składnia

  • dbstop w pliku w lokalizacji, jeśli wyrażenie

Parametry

Parametr Detale
plik Nazwa pliku .m (bez rozszerzenia), np. fit . Ten parametr jest (wymagany), chyba że ustawia się specjalne typy warunkowych punktów przerwania, takich jak dbstop if error lub dbstop if naninf .
Lokalizacja Numer linii, w której należy umieścić punkt przerwania. Jeśli określony wiersz nie zawiera kodu uruchamialnego, punkt przerwania zostanie umieszczony w pierwszym prawidłowym wierszu po określonym.
wyrażenie Wszelkie wyrażenia lub ich kombinacje, które dają w wyniku wartość logiczną. Przykłady: ind == 1 , nargin < 4 && isdir('Q:\') .

Praca z punktami przerwania

Definicja

W rozwoju oprogramowania punkt przerwania to celowe zatrzymanie lub pauzowanie w programie, wprowadzone w celu debugowania.

Mówiąc bardziej ogólnie, punkt przerwania jest sposobem na zdobycie wiedzy o programie podczas jego wykonywania. Podczas przerwy programista sprawdza środowisko testowe (rejestry ogólnego przeznaczenia, pamięć, dzienniki, pliki itp.), Aby dowiedzieć się, czy program działa zgodnie z oczekiwaniami. W praktyce punkt przerwania składa się z jednego lub więcej warunków, które określają, kiedy należy przerwać wykonywanie programu.

-Wikipedia

Punkty przerwania w MATLAB

Motywacja

W MATLAB, gdy wykonanie zatrzymuje się w punkcie przerwania, zmienne istniejące w bieżącym obszarze roboczym (inaczej zakres ) lub w dowolnym z wywołujących obszarów roboczych mogą być sprawdzane (i zwykle również modyfikowane).

Rodzaje punktów przerwania

MATLAB pozwala użytkownikom umieszczać dwa typy punktów przerwania w plikach .m :

  • Standardowe (lub „ nieograniczone ”) punkty przerwania (pokazane na czerwono) - wstrzymaj wykonywanie, gdy osiągnięta zostanie zaznaczona linia.
  • „Warunkowe” punkty przerwania (pokazane na żółto) - wstrzymaj wykonywanie, gdy osiągnięta zostanie zaznaczona linia ORAZ warunek zdefiniowany w punkcie przerwania zostanie oceniony jako true .

Różne symbole punktów przerwania w GUI

Umieszczanie punktów przerwania

Oba typy punktów przerwania można utworzyć na kilka sposobów:

  • Używając GUI edytora MATLAB, klikając prawym przyciskiem myszy poziomą linię obok numeru linii.

  • Za pomocą komendy dbstop :

    % Create an unrestricted breakpoint:
    dbstop in file at location
    % Create a conditional breakpoint:
    dbstop in file at location if expression
    
    % Examples and special cases: 
    dbstop in fit at 99 % Standard unrestricted breakpoint.
    
    dbstop in fit at 99 if nargin==3 % Standard conditional breakpoint.
    
    dbstop if error % This special type of breakpoint is not limited to a specific file, and
                    % will trigger *whenever* an error is encountered in "debuggable" code.
    
    dbstop in file % This will create an unrestricted breakpoint on the first executable line
                   % of "file".
    
    dbstop if naninf % This special breakpoint will trigger whenever a computation result 
                     % contains either a NaN (indicates a division by 0) or an Inf
    
  • Korzystanie ze skrótów klawiaturowych: domyślny klawisz do tworzenia standardowego punktu przerwania w systemie Windows to F12 ; domyślny klucz warunkowych punktów przerwania nie jest ustawiony .

Wyłączanie i ponowne włączanie punktów przerwania

Wyłącz punkt przerwania, aby tymczasowo go zignorować: wyłączone punkty przerwania nie wstrzymują wykonania. Wyłączenie punktu przerwania można wykonać na kilka sposobów:

  • Kliknij prawym przyciskiem myszy czerwone / żółte kółko punktu przerwania> Wyłącz punkt przerwania.
  • Kliknij lewym przyciskiem myszy na warunkowy (żółty) punkt przerwania.
  • Na karcie Edytor> Punkty przerwania> Włącz \ Wyłącz.

Usuwanie punktów przerwania

Wszystkie punkty przerwania pozostają w pliku, dopóki nie zostaną usunięte, ręcznie lub automatycznie. Punkty przerwania są usuwane automatycznie po zakończeniu sesji MATLAB (tj. Zakończeniu programu). Ręczne usuwanie punktów przerwania odbywa się na jeden z następujących sposobów:

  • Za pomocą komendy dbclear :

    dbclear all
    dbclear in file   
    dbclear in file at location    
    dbclear if condition
    
  • Kliknięcie lewym przyciskiem myszy standardowej ikony punktu przerwania lub wyłączonej ikony warunkowego punktu przerwania.

  • Kliknij prawym przyciskiem myszy dowolny punkt przerwania> Wyczyść punkt przerwania.

  • Na karcie Edytor> Punkty przerwania> Wyczyść wszystko.

  • W wersjach MATLAB wcześniejszych niż R2015b za pomocą polecenia clear .

Wznawianie wykonywania

Gdy wykonywanie jest wstrzymane w punkcie przerwania, istnieją dwa sposoby kontynuowania wykonywania programu:

  • Wykonaj bieżącą linię i ponownie wstrzymaj przed następną linią.

    F10 1 w Edytorze, dbstep w oknie poleceń, „Krok” na Wstążce> Edytor> DEBUG.

  • Wykonaj do następnego punktu przerwania (jeśli nie ma już punktów przerwania, wykonywanie będzie kontynuowane do końca programu).

    F12 1 w Edytorze, dbcont w oknie poleceń, „Kontynuuj” na Wstążce> Edytor> DEBUG.


1 - domyślnie w systemie Windows.

Debugowanie kodu Java wywołanego przez MATLAB

Przegląd

W celu debugowania klas Java, które są wywoływane podczas wykonywania MATLAB, należy wykonać dwa kroki:

  1. Uruchom MATLAB w trybie debugowania JVM.
  2. Dołącz debuger Java do procesu MATLAB.

Gdy MATLAB jest uruchamiany w trybie debugowania JVM, w oknie poleceń pojawia się następujący komunikat:

JVM is being started with debugging enabled.
Use "jdb -connect com.sun.jdi.SocketAttach:port=4444" to attach debugger.

Koniec MATLAB

Windows:

Utwórz skrót do pliku wykonywalnego MATLAB ( matlab.exe ) i dodaj flagę -jdb na końcu, jak pokazano poniżej:

wprowadź opis zdjęcia tutaj

Podczas uruchamiania MATLAB za pomocą tego skrótu zostanie włączone debugowanie JVM.

Alternatywnie można utworzyć / zaktualizować plik java.opts . Ten plik jest przechowywany w „matlab-root \ bin \ arch”, gdzie „matlab-root” to bezpośredni przewodnik instalacji MATLAB, a „arch” to architektura (np. „Win32”).

W pliku należy dodać:

-Xdebug
-Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n

Koniec debugowania

IntelliJ IDEA

Dołączenie tego debugera wymaga utworzenia konfiguracji „debugowania zdalnego” z portem ujawnionym przez MATLAB:

Krok 1: Tworzenie konfiguracji debugowania

Następnie uruchamiany jest debugger:

Krok 2: Uruchomienie debugera

Jeśli wszystko działa zgodnie z oczekiwaniami, w konsoli pojawi się następujący komunikat:

Zapisuj dane wyjściowe, gdy wszystko działa



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow