Nummer der Zeile anzeigen wo das script aktuell rechnet

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Nummer der Zeile anzeigen wo das script aktuell rechnet

Re: Nummer der Zeile anzeigen wo das script aktuell rechnet

by effel » 27 Jun 2020, 10:05

hallo gregster,
das Zauberwort war `debuggen` :dance: genau sowas habe ich gesucht.

ich habe nun im script die zeile ALineNumberVar := ALineNumber(A_TickCount, A_LineNumber) an x Punkten eingefügt und damit eine sehr gute Übersicht, wo das script grade werkelt oder hängt.

mit dem Ergebnis aktiviere ich einen ToolTip in dem alle relevanten Daten Life angezeigt werden.

das wird ab jetzt bei jedem Versuch, ein Programm zu schreiben meine Zeilen bereichern.

nun zu meiner Frage:
wenn ich die zeile: ALineNumberVar := ALineNumber(A_TickCount, A_LineNumber) wie im Beispiel unten in einer ausgelagerten Funktion nutzen möchte... kann ich dann die Variable ALineNumberVar global machen... und die zeile immer vor dem Return [wert] der Funktion einbauen? Funktioniert das so? oder hat jemand eine andere Möglichkeit :-)


Code: Select all

UnHTML( HTM, PPT:=1, RUE:=1 ) {                              ; By SKAN on D1BN/D33P @ tiny.cc/unhtml
Local Asc, E, K, P:=1
Static HEN := "
 (  LTrim Join
             {HTML4:,Aacute:193,aacute:225,Acirc:194,acirc:226,acute:180,add:43,AElig:198,aelig:230,
 
 ....
 
 
    26,xi:958,Yacute:221,yacute:253,yen:165,yuml:255,Yuml:376,Zeta:918,zeta:950,zwj:8205,zwnj:8204,}
 )"

  HTM := !PPT ? HTM : RegExReplace(HTM,"<[^>]+>") ; Remove all text wrapped within "<" and ">"
    
  While ( P := RegExMatch(HTM, "(?<!&)&[#a-zA-Z0-9]+;", E, P) )  and  (K := Trim(E,"&#;") )
    {
       Asc  := ( SubStr(E,1,3) = "&#x" ? ("0" . K) 
            :    SubStr(E,1,2) = "&#"  ? (      K)  
            :    RegExMatch(HEN,   "(?<=," . K . ":)[0-9]+(?=,)", Asc) ? Asc
            :    RegExMatch(HEN, "i)(?<=," . K . ":)[0-9]+(?=,)", Asc) ? Asc : 0) 

     , HTM  := RegExReplace(HTM, E, Asc ? Chr(Asc) : RUE=0 ? ("&" . E)  : "")
    }
ALineNumberVar := ALineNumber(A_TickCount, A_LineNumber)
Return HTM
}

Re: Nummer der Zeile anzeigen wo das script aktuell rechnet

by gregster » 26 Jun 2020, 16:43

was es vielleicht sonst noch an interessanten Daten gibt, was den Script-ablauf und dessen Überwachung betrifft.
Hast du dich schon mal generell mit Debuggern/Debugging beschäftigt? (außer deinem aktuellen A_LineNumber-Projekt oben, das sicherlich in eine ähnliche Richtung geht).
https://ahkde.github.io/docs/Scripts.htm#debug
https://ahkde.github.io/docs/AHKL_DBGPClients.htm
Damit kannst du im Editor bspw Variablen ständig überwachen oder Zeile für Zeile durch den Code 'steppen' (zum Testen und Auffinden von Fehlern, nicht so sehr als ständig verfügbarer Tooltip in der finalen Skriptversion).

Re: Nummer der Zeile anzeigen wo das script aktuell rechnet

by effel » 26 Jun 2020, 15:50

guten Abend,
mit Hilfe von Bobos `Missverständnis` und Rohwedder`s Codeschnipsel habe ich genau das erreicht was ich suchte.
A_Now [ Freitag 26.Juni.2020 22:39:05 ]
Programmstart: [ Freitag 26.Juni.2020 22:18:04 ]
Gespeichert: [ 0 ] Mail: [ ] WhatsApp: [ ]
xBlackListFound: [ ] xWhiteListFound: [ ]
AnzeigeIDshort: [ ]
PlattformCounter: [ 4 ]
ToolTipUrlFollow: [ out of order ]
A_LineNumber: [ 455035421 104 ]
xStatus: [ out of order ] PauseCounter: [ 138 ]
xStatus: [ out of order ] PauseCounterElse: [ 0 ]
xWhiteListAction: [ ]


das ist ein Print des ToolTip, hier sehe ich nun genau wo das Programm grade arbeitet.

bleibt noch die Frage nach der CPU-Last. und... was es vielleicht sonst noch an interessanten Daten gibt, was den Script-ablauf und dessen Überwachung betrifft.

Re: Nummer der Zeile anzeigen wo das script aktuell rechnet

by gregster » 26 Jun 2020, 07:17

effel wrote:
26 Jun 2020, 06:53
meine erste suche nach 'Toogle Line Numbers' ergibt auch einiges zum lesen.
https://www.autohotkey.com/boards/viewtopic.php?t=68504
Ich glaub, hier liegt ein Missverständnis vor. Bobo wollte wohl nur auf die gleichnamige Funktion der Codeboxen verweisen (die noch relativ neu ist).
Ich glaub nicht, dass das verlinkte Topic spezifische Informationen zum Thema 'Toogle Line Numbers' enthält (aber das war ja auch nicht deine Frage). Dort wird allerdings A_LineNumber verwendet, das stimmt. Aber es geht eigentlich um ein anderes Thema, nämlich Switch.

Re: Nummer der Zeile anzeigen wo das script aktuell rechnet

by effel » 26 Jun 2020, 06:53

Re: Nummer der Zeile anzeigen wo das script aktuell rechnet

by BoBo » 26 Jun 2020, 05:51

Mir stellt sich da immer die Frage inwieweit das greift, wenn zB noch aus libraries includiert wird? Diese Zeilen sind zwar im ursprünglichen script nicht vorhanden, zählen aber AFAIRemember automatisch mit. Wird bei der Fehlermeldung dann (auch) auf 'das attachment' verwiesen??

BTW, auch immer wieder gern vergessen - die Option 'Toogle Line Numbers' in der Codebox des Forums. Falls der eigene Editor das nicht hergibt.

Re: Nummer der Zeile anzeigen wo das script aktuell rechnet

by Rohwedder » 26 Jun 2020, 01:54

Hallo,
zur Variablen:
https://ahkde.github.io/docs/Variables.htm#LineNumber
Auszug aus meinem Hauptskript:

Code: Select all

#IfWinActive ahk_class Notepad++
^t::SendInput, ToolTip,`% A_TickCount " Zeile: " A_LineNumber
^m::SendInput, MsgBox,`% A_TickCount " Zeile: " A_LineNumber
Damit erstelle ich in Notepad++ bequem meine Tooltips und MsgBoxen.
Die Zeilennummer hilft die Übersicht zu behalten. Einen vergessenen Tooltip in 16000 Zeilen zu finden, nervt!

Nummer der Zeile anzeigen wo das script aktuell rechnet

by effel » 25 Jun 2020, 20:00

Hallo, wenn ich vom Script eine Fehlermeldung bekomme, steht da auch die Zeilennummer mit drin.

Gibt es in ahk eine Variable in der die Zeilennummer drin steht, wo das Script grade arbeitet? also ohne das es sich um einen Fehler handelt.

und kann ich den Speicherbedarf und cpu-last vom laufenden Script auch auslesen?

Top