Analyzer 2.0b for V4

Developed or developing a new product in PureBasic? Tell the world about it.
User avatar
Michael Vogel
Addict
Addict
Posts: 2666
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

Post by Michael Vogel »

Hm,

I just have tried to get an original analyzer V2.1 package for windows, but ALL links seems to point to {Nil} or only old versions :cry:

Does anyone have Remi's package?

EDITED - Sorry, everything's ok now!

The Rapidshare-Link did work now (the first time I was told that the session has timed out)
somic
User
User
Posts: 66
Joined: Sun Jun 29, 2008 9:11 am
Location: Italy
Contact:

Help (copy) required of Analyzer

Post by somic »

Michael (Vogel),

I'm NOT able to get Analyzer too (Rapidshare says the file has been cancelled because not downloaded for too long).

I've seen that you have been able to get it.

Can you kindly email me a copy of the Analyzer?

Your help will be much appreciated.

Regards,
Somic
(email: somic@libero.it)
superadnim
Enthusiast
Enthusiast
Posts: 480
Joined: Thu Jul 27, 2006 4:06 am

Post by superadnim »

I uploaded the file here: http://www.2shared.com/file/4259387/737 ... er_40.html

Someone should mirror it because it's going to get deleted sooner or later, this free file hosting services are quite crappy sometimes!

Credit due to the original author, I still don't remember if I modified the sources or not but it works just fine here at least the last time I tried (4.20)

:lol: should I bash the keyboard and give up?
:?
somic
User
User
Posts: 66
Joined: Sun Jun 29, 2008 9:11 am
Location: Italy
Contact:

Analyzer

Post by somic »

Thank you very much for the link that worked (finally) :D .

If you or the author like I can host it on my web site :P .

I will try to get in contact with him.

Thanks again.
Somic
User avatar
Rook Zimbabwe
Addict
Addict
Posts: 4326
Joined: Tue Jan 02, 2007 8:16 pm
Location: Cypress TX
Contact:

Post by Rook Zimbabwe »

There has got to be a place to share files with far less popups! :(

But thank you for the share!
Binarily speaking... it takes 10 to Tango!!!

Image
http://www.bluemesapc.com/
MrMat
Enthusiast
Enthusiast
Posts: 762
Joined: Sun Sep 05, 2004 6:27 am
Location: England

Post by MrMat »

PureStorage (from Beach) is really good:
http://purebasic.myftp.org
Mat
remi_meier
Enthusiast
Enthusiast
Posts: 468
Joined: Sat Dec 20, 2003 6:19 pm
Location: Switzerland

Post by remi_meier »

Sorry, I'm not really using PB anymore.
I'd be happy if somebody would host it, it's free for anyone to use and
modify.

IIRC I put the latest versions of my programs partially on this
website (further down means newer):
http://remi.secretly.de/
Especially the linux versions should contain the most current sources
because I ported them after the Windows versions.

Feel free to do what you want with it :)


greetz
Remi
Athlon64 3700+, 1024MB Ram, Radeon X1600
#NULL
Addict
Addict
Posts: 1440
Joined: Thu Aug 30, 2007 11:54 pm
Location: right here

Re: Analyzer 2.0b for V4

Post by #NULL »

I updated this little gem to PB 5.61:
http://www.wannabephoenix.de/PB/analyze ... _12_01.zip
changes.txt wrote:--------------------------------------------------------------------
2017-12-01

- changed Read to Read.s
- changed type of nr from implicit integer to explicit long
- changed CountList() to ListSize()
- changed #PB_Sort_Long to #PB_Long
- removed CreateGadgetList()
- changed ClearGadgetItemList() to ClearGadgetItems()
- added a hint if the debugger is enabled during the execution of the resulting pb file

- changed version number from 2.1 to 3.0 not because of major changes but to avoid collision with other minor version that may be around somewhere.

note: Functions.pb is included with IncludeBinary and read with PeekS(..., #PB_Ascii) so make sure it's an ASCII file and not UTF-8. it might work if you change the PeekS() flag but i did not test it.

--------------------------------------------------------------------
- only tested on Linux but i guess it runs on Windows too.
- there are explicit type long declarations in use that i did not change, runs fine here on x64.
- what does not work currently are procedure definitions and calls spanning multiple lines (i.e. one line per argument). the '; pause' and '; continue' control comments would work for the definition but not for the call, neither does '; block' and '; endblock', so you might want to avoid multiline procedures/calls when running analyzer. that's probably the same for other code that is broken into multiple lines.

thanks remi, still very helpful tool 8)

<edit>
I forgot the original documentation and example files. They are now included.
Last edited by #NULL on Thu Jul 26, 2018 1:46 pm, edited 1 time in total.
davido
Addict
Addict
Posts: 1890
Joined: Fri Nov 09, 2012 11:04 pm
Location: Uttoxeter, UK

Re: Analyzer 2.0b for V4

Post by davido »

@#NULL,
Looks interesting.
Thank you for taking the trouble to update it. :D
DE AA EB
User avatar
tj1010
Enthusiast
Enthusiast
Posts: 621
Joined: Mon Feb 25, 2013 5:51 pm
Location: US or Estonia
Contact:

Re: Analyzer 2.0b for V4

Post by tj1010 »

There use to be a profiler that color coded disassembly from PE and ELF binaries based on real-time runtime analysis(anything that built non-runtime binaries), but I forget the name of it. It didn't need source code. This one is way better though if it really produces those delay figures based on first-past analysis and debug data or something..
The truth hurts.
#NULL
Addict
Addict
Posts: 1440
Joined: Thu Aug 30, 2007 11:54 pm
Location: right here

Re: Analyzer 2.0b for V4

Post by #NULL »

I only wanted to add module support but ended improving quite a bit more :) namely it now also supports multilines, that is line : concatenation : via : colon, as well as split lines, that is linebreaks after And, +, , etc. And also If/ElseIf conditions are now being measured. In the GUI you can now filter for lines and also open the original code location in the IDE! And the merger is now integrated.

Developed and used on Linux but I tested/adapted it also on Windows so it should work there too. I don't know about MacOS, does the gtk stuff just work there like on Linux? Maybe some CompilerIfs would have to be adapted to Win/Else instead of Linux/Else.

Download:
http://www.wannabephoenix.de/PB/analyze ... alyzer.zip

The new documentation is also available online where you can also see screenshots:
http://www.wannabephoenix.de/PB/analyzer/documentation/
changes.txt wrote:--------------------------------------------------------------------
2018-07-26, analyzer version 3.1

- Code modulized, removed main scope globals etc, changed to utf-8 source files, reorganized code:
- Main.pb is now analyzerTool.pb
- Functions.pb (runtime template) is now analyzerRuntime.pb
- MergeTool.pb is now mergeTool.pb
- Modulized code is now supported by merger and analyzer
- Analyzer now merges code on its own, no separate merging required
- IDE compile/run support for unsaved files / includes / mainfiles / projects
- The merge tool can now add annotation comments for original file/line code locations
- Analyzer now shows original file/line code location and can open original file/line in PB IDE
- Compiler options will now be transferred to output file
- Last PureBasic IDE program path is stored when run as an IDE tool and can be used if run as a commandline program to open file/line in PureBasic IDE
- Support for escaped strings ~"\""
- The merge tool will replace #PB_Compiler_IsMainFile and #PB_Compiler_IsIncludeFile depending on where they occur
- Writing the file analysis.txt is now disabled by default but can be enabled in the preferences file
- Preference for sticky tool window / sticky runtime window
- Automatically disable analyzer for lines of inline !asm and within EnableASM/DisableASM blocks
- Respect keyword word boundaries
- Variable definitions are now being measured
- If/ElseIf conditions are now being measured
- Added a warning if the threadsafe compiler option enabled in user code
- Blocks will be measured even after analyzer:disable
- Control comments changed to analyzer:disable/enable/startblock/endblock to be easier to search/find in code
- GUI:
- analyzer tool now shows information in a log window and asks for confirmations
- runtime has additional tab for ignored/other lines, ability to filter for specific lines, better listicon sorting with OS specific code.
- new documentation

--------------------------------------------------------------------
User avatar
oreopa
Enthusiast
Enthusiast
Posts: 281
Joined: Sat Jun 24, 2006 3:29 am
Location: Edinburgh, Scotland.

Re: Analyzer 2.0b for V4

Post by oreopa »

Very nice tool. Works great on my main project.
Proud supporter of PB! * Musician * C64/6502 Freak
Little John
Addict
Addict
Posts: 4519
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: Analyzer 2.0b for V4

Post by Little John »

Thank you for this tool! Being able to do time profiling with our PB code is really a great option!

Unfortunately, I'm currently having a problem. When running this code with PB 5.70 beta 4 (x64) on Windows 10, using Analyzer 3.1, then the source code in the IDE is highlighted, and a message requester shows the following message:
Line 1630: Syntax error.
There are not so many lines in that source code. I assume the error message and the line number refer to the file "PB_EditorOutput.pb". In that file, the content of line 1630 is

Code: Select all

dw 0x37f
The same code runs fine without Analyzer, and Analyzer runs fine here with some other code.
Maybe Analyzer doesn't recognize the ASM code correctly?
#NULL
Addict
Addict
Posts: 1440
Joined: Thu Aug 30, 2007 11:54 pm
Location: right here

Re: Analyzer 2.0b for V4

Post by #NULL »

Code: Select all

!comb_fstc: dw 0x37f
I think it takes the colon as line continuation and breaks it up causing an error. Maybe that is even done before it is testing for !asm (if it is testing for that at all, not sure right now). In that case the use of blocks or disable wouldn't help either but you can try. I will look into it as soon as possible. Thanks for testing. 8)
Little John
Addict
Addict
Posts: 4519
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: Analyzer 2.0b for V4

Post by Little John »

#NULL,

thanks for looking into this!
Post Reply