WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Message Tracking

 

Bluesmaster
Forum-Century

Forum-Century



Beiträge: 203
Anmeldedatum: 13.11.11
Wohnort: Gera
Version: 2012a
     Beitrag Verfasst am: 18.07.2012, 10:32     Titel: Message Tracking
  Antworten mit Zitat      
Mal eine echte Expertenfrage:


Da ich immer um KVP bemüht bin wollte ich mal ein leidiges Problem
loswerden:

Wie oft hat man ein umfangreiches Program und beim Debugging kommt

ans = XXXX ohne dass man das wollte.

oft dauert es Minuten bis man sich an diese Stelle herandebugt hat


Gibt es eine Möglichkeit ALLE Nachrichten abzufangen und mit einem
Hyperlink der entsprechenden Stelle zu versehen?


Ich habe zwar so ein System aber nur für Nachrichten die ich
bewusst erzeugen will


Gruß

Blues
Private Nachricht senden Benutzer-Profile anzeigen


Goofy9020
Forum-Century

Forum-Century


Beiträge: 164
Anmeldedatum: 10.08.11
Wohnort: ---
Version: 2009a, 2010b
     Beitrag Verfasst am: 18.07.2012, 12:46     Titel:
  Antworten mit Zitat      
Meinst du, wenn man mal den ";" vergessen hat?

Also bei mir zeigt sich dies im Editor. Rechts vom Scrollbalken ist ja so ein graues Feld. Grün alles in Ordnung. Orange: man kann Sachen verbessern und Rot: grober Fehler.

Wenn ein ";" fehlt dann wird es als Orange angezeigt, so kann man immer gleich zur richtigen Stelle springen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Bluesmaster
Themenstarter

Forum-Century

Forum-Century



Beiträge: 203
Anmeldedatum: 13.11.11
Wohnort: Gera
Version: 2012a
     Beitrag Verfasst am: 18.07.2012, 13:25     Titel:
  Antworten mit Zitat      
Ja das stimmt schon,

aber bei dutzenden von Dateien deren Ränder durchgängig
orange sind aufgrund anderer Warnmeldungen ist das wenig hilfreich.

Zudem gibt es ja durchaus beabsichtigtes dispays



an meine beabsichtigten meldungen hänge ich immer so etwas hier an:

Code:

disp('<a href="matlab: opentoline('''  stack(1).file  ''',' num2str(stack(1).line) ',1)">[G]</a> ')
 



(so ähnlich) dann kann ich immer sofort zu der Stelle springen wo die
Nachricht her kommt das ermöglicht sehr wirtschaftliches debuggen,
vielleicht veröffentliche ich mal das ganze System


gegen ein vergessenes Semikolon hab ich allerdings keine Chance Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.07.2012, 13:39     Titel:
  Antworten mit Zitat      
Hallo Bluesmaster,

Was ist KVP?

Zitat:
aber bei dutzenden von Dateien deren Ränder durchgängig
orange sind aufgrund anderer Warnmeldungen ist das wenig hilfreich.

Ein effizientes Debuggen ist kaum möglich oder hilfreich, wenn MLint selbst bereits "durchgängig" Warnungen anzeigt. Ein "ordentliches" programm sollte gar keine Warnungen anzeigen. Dazu wird man in einigen Fällen Warnungen explizit abschalten müssen, wenn die MLint-Automatic nicht schlau genug ist zu erkennen, dass man etwas wirklich absichtlich und mit gutem Grund so programmiert hat. Dann ignoriert man aber die warnung jeweils nur in der entsprechenden Zeile und fügt einen Kommentar an, wieso das zweckmäßig ist.

Die Ausgabe von Werten per Weglassen des Semikolons ist eine rudimentäre Methode. Wenn Du mehr Möglichkeiten der Einflußnahme benötigst, wäre eine angepasste DISP-Funktion besser geeignet. Es ist nicht sinnvoll, von einer einfachen Standard-Funktion ein individuell anpassbares Spezial-Verhalten zu erwarten.

Ich verwende einen Satz von Funktionen für steuerbare Ausgabe von Infos, Warnungen, Fehlern und Verbesserungsvorschlägen. Diese können die jeweilgen Arten der Nachrichten in unterschiedliche Log-Files schreiben und zu bestimmten Debug-Leveln die Anzahl der Ausgaben verkleinern. Dann muss man sich bei einfachen Fehlern nicht durch 100 Seiten Debug-Messages graben, kann aber bei Bedarf einen solchen Informationsberg erzeugen.

Das Bereinigen der MLint-Warnungen hat aber auf jeden Fall höchste Priorität.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Bluesmaster
Themenstarter

Forum-Century

Forum-Century



Beiträge: 203
Anmeldedatum: 13.11.11
Wohnort: Gera
Version: 2012a
     Beitrag Verfasst am: 18.07.2012, 15:16     Titel:
  Antworten mit Zitat      
Hallo Jan,

KVP ist ein Qualitätsmanagementbegriff:
http://de.wikipedia.org/wiki/Kontin.....cher_Verbesserungsprozess


Vielen Dank für deine Ansätze. Es gibt aber Gründe warum die perfekte
MLint-Hygiene für mich persönlich nicht der rechte Ansatz ist:


1. Gerade in der konzeptionellen Phase werden viele Funktionen
und Variablen als nur als Rahmen angelegt bis man Zeit hat
sich darum zu kümmern. Diese Warnungen sind ok und müssen bleiben

2. Daraus folgt das ich wieder suchen müsste wenn mir ein
Semikolonfeher passiert, ganz abgesehen von den dutzdenden
VERSCHIEDENE Dateinen die der MLint Report nicht auf einmal
abdecken kann


Expertenfrage deshalb, weil ich wissen wollte ob ein Eingriff wie ich
ihn beschrieben habe möglich ist oder nicht.
Steriler Quellcode ist ein anderes Thema.



PS:

Ich und sicherlich viele andere Forenmembers wären bestimmt daran interessiert von einem alten Hasen zu lernen
was dein Messaging-System angeht. Wenn du mal etwas Zeit hättest könntest du kurz erklären wie du das mit den Log-Files anstellst usw..

Ich würde mich auf jeden Fall freuen

Gruß

Blues
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 19.07.2012, 12:22     Titel:
  Antworten mit Zitat      
Hallo Bluesmaster,

MLint erstellt Reports auch für alle M-Files im aktuellen Ordner. So weit ich mich erinnere kann man dies z.B. im Mlint-Report, der über das Menü im Editor erstellt wird starten.
Man kann diesen Report auch speichern und speziell nach den fehlenden Semikolons suchen. MLint erlaubt auch eine Anpassung, welche Fehler gemeldet werden sollen. Dann kann man alles ausser den Semikolons (temporär!!!) abschalten und prüfen lassen.

Wenn während der Konzptionsphase noch viele nicht-implementierte Variablen und Funktionen zu MLint-Warnungen führen, kann der Code doch nich gar nicht laufen, so dass die fehlenden Semikolons doch eigentlich keine Schwierigkeit sein sollten...

Ein Eingriff in die Ausgabe bei fehlendem Semikolon ist nicht machbar.

Ich habe überlegt, das Messaging-System in der FEX zu veröffentlichen. Leider ist von mehreren anderen funktionen abhängig, die wiederum eng in meine Toolboxed eingebunden sind. Allein schon die Workarounds um einen Fehler-Beep zuverlässig unter Matlab 5.3, 6.5, 2006a, 2008b, 2009a, 2011b und 2012a und Linux/MacOS/WinXP+Win7 aus dem Lautsprecher erschallen zu lassen, benötigt einen Wust von Funktionen. Insgesamt sind etwa 240 Funktionen betroffen, sodass der esthetische und pädagogische Wert doch sehr rudimentär wären...

Aber ich behalte es im Hinterkopf, ob ich nicht mal eine abgespeckte Version veröffentliche.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Bluesmaster
Themenstarter

Forum-Century

Forum-Century



Beiträge: 203
Anmeldedatum: 13.11.11
Wohnort: Gera
Version: 2012a
     Beitrag Verfasst am: 19.07.2012, 12:49     Titel:
  Antworten mit Zitat      
Code:
kann der Code doch nich gar nicht laufen


Doch die Passagen oder Variablen werden noch nicht benutzt.
Die könnte man aber herausfiltern das stimmt.

Meine Files sind zudem über mehrere Ordner verteilt, soweit ich
weiß beherrscht noch kein Matlab-Report Ordner-Rekursion.



Zitat:
Ein Eingriff in die Ausgabe bei fehlendem Semikolon ist nicht machbar


Die Info wollte ich Smile





Was das Messaging-System angeht wäre gar nicht eine umfangreiche
Veröffentlichung nötig. Die Erläuterung von ein paar Prinzipien und Gedanken
könnte schon Inspiration genug sein.

Ich habe zum Beispiel eine kleine GUI angefangen mit einer Textbox. Begriffe die ich
dort eintrage können per White/Blacklist gefiltert werden. Zudem ein
Prioritätensystem von 1-3 und ein Kontext-System ist geplant.
Deswegen interessieren mich auch deine Ideen sehr.


Gruß

Blues
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.