Recommended debug setup for PM28?

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
Public Enema

Recommended debug setup for PM28?

Unread post by Public Enema » 2018-12-14, 04:45

Well, what the title says. I managed to get VSCode to debug it, but it isn't spitting out enough information for my liking. I searched the forum and didn't find any suggestions for a debugging setup, so here I am. I suppose the dev team knows the best software and config to use.

Thanks.

yami_

Re: Recommended debug setup for PM28?

Unread post by yami_ » 2018-12-14, 10:46

You would probably need a debugger and Pale Moon's debug symbols.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35589
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Recommended debug setup for PM28?

Unread post by Moonchild » 2018-12-15, 02:19

The best way to debug Pale Moon on Windows is to have Visual Studio 2015 CE installed, and to download the Pale Moon debug symbols of the version you are debugging from ftp://archive.palemoon.org/symbols/
In the VS IDE, you can indicate symbol paths.

If you also want to be able to look at the source code when debugging, you should also have a copy of the source tree handy to point visual studio to.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Public Enema

Re: Recommended debug setup for PM28?

Unread post by Public Enema » 2019-02-13, 22:48

yami_ wrote:You would probably need a debugger and Pale Moon's debug symbols.
Moonchild wrote:The best way to debug Pale Moon on Windows is to have Visual Studio 2015 CE installed, and to download the Pale Moon debug symbols of the version you are debugging from ftp://archive.palemoon.org/symbols/
In the VS IDE, you can indicate symbol paths.

If you also want to be able to look at the source code when debugging, you should also have a copy of the source tree handy to point visual studio to.
Yeah, I managed to get VSCode to debug with PM's source and symbols, but it seems it's just not up to the task of debugging software this complex. So VS 2015 it is then. Thank you.

While I'm at it, might as well ask, is there any recommendations as to how to measure the CPU load of each tab, addon or whatever? I'm the guy with an assload of tabs (11105 as of right now), and RAM used to be the bottleneck when I had only 8GB, of which PM couldn't grab more than 7 and change. At 16GB RAM now, PM's share can't reach 12GB before CPU becomes the new bottleneck, what with the lack of multiprocessor support. So something that could discern the CPU usage of the various pieces beneath the hood would be great. The about:performance page helps a bit, but exactly what the measures mean lacks description (for example, what does impact on framerate's X/10 really mean, especially since it often is high while CPU and memory loads are low), but most importantly, its interface isn't conducive to tracking specific tabs or addons.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35589
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Recommended debug setup for PM28?

Unread post by Moonchild » 2019-02-13, 23:09

11,000 tabs is way, way outside of design scope, sorry. You're pretty much on your own. At those counts, any small tab administrative overhead becomes significant. Most likely you are simply hitting the limit of what the browser's processing can handle. Multi-processor support (which we do have to a certain degree, by the way) won't help because you can't parallelize this across multiple cores unless you completely redesign the way the browser is built.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Locked