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

Fehler im Profiler beheben?!

 

Hiwi-Job
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.09.11
Wohnort: Hannover
Version: 2013a
     Beitrag Verfasst am: 12.10.2011, 16:40     Titel: Fehler im Profiler beheben?!
  Antworten mit Zitat      
Hallo Leute,

ich hoffe mir kann hier jemand weiterhelfen. Ich habe mir schon die Finger wund gesucht im Internet, konnte aber bisher nicht herausfinden, wie ich den folgenden Fehler des Profilers beheben kann:

??? Attempted to access o.lnos(179); index out of bounds because numel(o.lnos)=178.

Error in ==> mtree.mtree>mtree.lastone at 1794
ch = Pos - o.lnos(ln);

Error in ==> getcallinfo at 92
functionInfo.lastline = lastone(last(rootNode));

Error in ==> profview>makefilepage at 1104
strc = getcallinfo(fullName,'-v7.8');

Error in ==> profview at 71
s = makefilepage(profileInfo,idx, busyLineSortKeyStr2Num(busyLineSortKey));

Ich hoffe, hier kann mir jemand weiterhelfen.

Grüße,
Ingo
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.10.2011, 17:01     Titel:
  Antworten mit Zitat      
Hallo,

das ist merkwürdig. Tritt der Fehler beim Profilen jedes Programms auf oder nur bei bestimmten Programmen?
Falls nur bei bestimmten Programmen: kannst du solchen Code zur Verfügung stellen?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Hiwi-Job
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.09.11
Wohnort: Hannover
Version: 2013a
     Beitrag Verfasst am: 12.10.2011, 17:10     Titel:
  Antworten mit Zitat      
Hallo Harald,

der Fehler tritt nur bei einem Programm auf. Dieses heißt "main.m". Wenn ich nun den Profiler laufen lasse, bekomme ich den "Profile Summary" angezeigt und folgenden Fehler ausgegeben:
Code:

??? Attempt to reference field of non-structure array.


Wenn ich dann auf verschiedene Funktionen klicke, bekomme ich die entsprechenden genaueren Infos. Möchte ich aber die genaueren Infos von "main" ansehen, bekomme ich den im ersten Beitrag erwähnten Fehler. Rolling Eyes

Grüße
Ingo


p.s.: den Code möchte ich hier nicht angeben, kann aber sagen, dass bei 2006b auf einem anderen PC dieser Fehler bei dem Code nicht auftritt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.10.2011, 18:19     Titel:
  Antworten mit Zitat      
Hallo,

eine Verwendung des Profilers ist nur dann sinnvoll, wenn das Programm an sich fehlerfrei durchläuft. Dann kannst du mit dem Profiler überprüfen, wo welcher Anteil an Laufzeit verwendet wurde, um an einer weiteren Performance-Optimierung des Programms zu arbeiten.

Um einen Fehler zu suchen, solltest du den Debugger verwenden: Haltepunkt setzen und dann durch das Programm navigieren.

Mach dich in der Doku am besten mal schlau, was die Verwendung des Debuggers angeht.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Hiwi-Job
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.09.11
Wohnort: Hannover
Version: 2013a
     Beitrag Verfasst am: 12.10.2011, 18:24     Titel:
  Antworten mit Zitat      
Hallo Harald,

das Programm läuft ohne Fehler durch, daran liegt es nicht.

Nur der Profiler hat diese Macke.


Grüße,
Ingo
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.10.2011, 18:27     Titel:
  Antworten mit Zitat      
Hallo,

dann sehe ich hier keine andere Möglichkeit als dass du ein Minimalbeispiel (also nicht den gesamten Code) postest, anhanddessen das Problem reproduzierbar ist.

Mich erstaunt übrigens auch, dass du beim zweiten Mal anscheinend eine andere Fehlermeldung bekommst.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Hiwi-Job
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.09.11
Wohnort: Hannover
Version: 2013a
     Beitrag Verfasst am: 12.10.2011, 18:36     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich werde mal gucken, ob ich den Code auf ein Minimum herunterbrechen kann ohne den Fehler zu verlieren.

Welchen anderen Fehler meinst du?

Ich bekomme den Einzeiler nach Ende des Profiler-Durchlaufs. Der große Fehler des ersten Beitrags kommt dann beim Versuch im Profile-Summary die main zu öffnen.

Grüße,
Ingo
Private Nachricht senden Benutzer-Profile anzeigen
 
Hiwi-Job
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.09.11
Wohnort: Hannover
Version: 2013a
     Beitrag Verfasst am: 12.10.2011, 18:48     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich habe gerade nach und nach einige Programmzeilen gelöscht und dabei festgestellt, dass nach Löschen von zwei Zeilen alles normal läuft... Question Question Question

Code:
disp('start')
disp('STOP')
haben den Fehler verursacht/ bzw. verursachen ihn reproduzierbar.

Danke für deine Hilfe!
Grüße
Ingo
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.10.2011, 08:33     Titel:
  Antworten mit Zitat      
Hallo,

ich bin jetzt doch neugierig und habe versucht das zu reproduzieren:

Code:
function main()

disp('start')
disp('STOP')


Im Profiler:
Code:


Läuft tadellos durch.

Kannst du bestätigen, dass alleine dieser Code bei dir zu Problemen führt?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Hiwi-Job
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.09.11
Wohnort: Hannover
Version: 2013a
     Beitrag Verfasst am: 13.10.2011, 16:35     Titel:
  Antworten mit Zitat      
Hallo Harald,

der von dir gepostete Code bringt keinen der beiden Fehler beim Ausführen im Profiler zu stande.


Grüße,
Ingo
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.10.2011, 16:38     Titel:
  Antworten mit Zitat      
Hallo,

du hast ja gesagt, dass diese beiden Zeilen bei dir zu dem Fehler führen.
Offensichtlich sind es nicht diese beiden Zeilen alleine. Nun wäre ja die Frage, welche anderen Zeilen das Problem nun verursachen.

Ohne ein reproduzierbares Beispiel ist es leider schwierig bis unmöglich, dem Problem auf die Spur zu kommen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Hiwi-Job
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.09.11
Wohnort: Hannover
Version: 2013a
     Beitrag Verfasst am: 13.10.2011, 16:43     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für deine Bemühungen. Ich kann und darf den Code hier leider nicht posten. Ich kann nur sagen, dass nach dem Auskommentieren der beiden Zeilen, der Profiler ohne Fehler funktionierte. Sobald die Zeilen wieder einkommentiert waren, trat der Fehler in gleicher Form wie oben beschrieben auf.
Mir reicht aber auch, dass ich den Fehler mit dem Auskommentieren umgehen kann.

Vielen Dank noch einmal, Grüße
Ingo
Private Nachricht senden Benutzer-Profile anzeigen
 
Hiwi-Job
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.09.11
Wohnort: Hannover
Version: 2013a
     Beitrag Verfasst am: 15.10.2011, 11:52     Titel:
  Antworten mit Zitat      
Bei folgendem vereinfachten Code, tritt der unten genannten Fehler auf:

Code:
Code:
%% Main
clear all; %Workspace leeren
pause(0.1);
disp('start')
tic
a=1+98;
toc
disp('STOP')


Fehler(bzw. gesamte Ausgabe im Command Window):
Code:
>> fehler
start
Elapsed time is 0.000039 seconds.
STOP
??? Attempted to access o.lnos(10); index out of bounds because numel(o.lnos)=9.

Error in ==> mtree.mtree>mtree.lastone at 1794
            ch = Pos - o.lnos(ln);

Error in ==> getcallinfo at 92
        functionInfo.lastline = lastone(last(rootNode));

Error in ==> profview>makefilepage at 1104
    strc = getcallinfo(fullName,'-v7.8');

Error in ==> profview at 71
    s = makefilepage(profileInfo,idx, busyLineSortKeyStr2Num(busyLineSortKey));
 
>>



Grüße
Ingo
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: 15.10.2011, 14:25     Titel:
  Antworten mit Zitat      
Hallo Hiwi-Job,

Ich kann das Problem unter 2009a und 2011b nicht reproduzieren. Welche Version benutzt Du?

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.09.11
Wohnort: Hannover
Version: 2013a
     Beitrag Verfasst am: 16.10.2011, 11:43     Titel:
  Antworten mit Zitat      
Hallo Jan,

ich nutze Version 2009b.

Grüße
Ingo
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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 - 2024 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.