zlacker

[parent] [thread] 3 comments
1. samsqu+(OP)[view] [source] 2021-08-29 15:14:23
One of my ideas is for application windows to have a button to flip to the internals of the application - see threads, connections, progress bars, concurrent loops, memory allocations, even stacks. This is what I call an encyclopedic desktop.
replies(2): >>ta988+62 >>exikyu+pj
2. ta988+62[view] [source] 2021-08-29 15:29:07
>>samsqu+(OP)
The JVM more or less allow you to do that. Its debugging and profiling abilities are amazing. You can also do most of these things (and more) with the various tracing systems of the linux kernel. (edit: typo)
replies(1): >>seg_lo+om
3. exikyu+pj[view] [source] 2021-08-29 17:17:14
>>samsqu+(OP)
I'm of the understanding it's actually possible to get 99% of exactly what you're describing if you're prepared to (learn how to) poke around with and squint at debugger-style tooling. Progress bars might be a bit tricky, but threads and connections are fair game, and tracing different kinds of loops is even viable too.

When I get back into the game with Windows again, I'll be seriously looking into ETW, Event Tracing for Windows.

It seems the best startpoint to learn about ETW is https://randomascii.wordpress.com/2015/09/01/xperf-basics-re... and https://randomascii.wordpress.com/2015/09/24/etw-central/.

The 2nd link above has a bunch of links to other pages, but is a few years old, so while the old info is still relevant, a quick poke around this blog's tags finds the following additional, newer posts that also demonstrate real-world insights of ETW saving the day in a bunch of practical situations:

https://randomascii.wordpress.com/2017/07/09/24-core-cpu-and...

https://randomascii.wordpress.com/2019/10/20/63-cores-blocke...

https://randomascii.wordpress.com/2019/12/08/on2-again-now-i...

https://randomascii.wordpress.com/2021/02/16/arranging-invis...

https://randomascii.wordpress.com/2021/07/25/finding-windows...

◧◩
4. seg_lo+om[view] [source] [discussion] 2021-08-29 17:36:51
>>ta988+62
One approach that I find interesting is to use Wasm because it was designed as a portable execution format for lots of language types. It has an amazing amount of flexibility for byte working and execution.

It is fairly trivial to see all of main memory and single step execution of a wasm program. If one runs wasm3 in wasm3, you can then trace the inner interpreter as well. Check out the section on trace visualization.

https://github.com/vshymanskyy/awesome-wasm-tools

[go to top]