@AndreasLahmeWD @ErnstvAll weil es andere Gründe gibt. U.a. der nun beschleunigte Ausbau von WKA‘s, der gegen den und die umgesetzt werden kann ().

#artenschutz #biodiversitat #windbg

Last updated 2 years ago

Helge Lehmann · @HelgeLehmann
0 followers · 1 posts · Server mastodon.green

Bitte Unterschreiben und weiter verteilen:
Hier geht es zur aktuellen Petition wg. Robert Habeck‘s durch das . „Stoppen des Gesetzes zur Erhöhung und Beschleunigung des von 's an Land.“
Das Gesetz mit der für das @BMWK umgeht den und die .
Hier die Petition:

change.org/WKA_Notverordnung_S

#notverordnung #windbg #ausbaus #WKA #ermachtigung #artenschutz #biodiversitat

Last updated 2 years ago

· @PJB
71 followers · 178 posts · Server mastodon.gamedev.place

displays PIDs in **hexadecimal**?? What??

#windbg

Last updated 2 years ago

Markus Gleichmann · @m_gleichmann
34 followers · 103 posts · Server social.tchncs.de

RT @TMueller_Wue@twitter.com

Am Mittwoch treten das neue () und die Änderungen im Baugesetzbuch (BauGB) zur für die in Kraft. Ein wichtiger Schritt für mehr Windenergie, aber mit Defiziten beim Tempo – eine Einordnung mit Ausblick 1/n

🐦🔗: twitter.com/TMueller_Wue/statu

#windenergie #flachenausweisung #windbg #windenergieflachenbedarfsgesetz

Last updated 2 years ago

Paul Lehmann · @plehmann
311 followers · 701 posts · Server econtwitter.net

Gute Zusammenfassung zu Fortschritt und Handlungsbedarfen bei der Windenergie an Land.

RT @TMueller_Wue@twitter.com

Am Mittwoch treten das neue () und die Änderungen im Baugesetzbuch (BauGB) zur für die in Kraft. Ein wichtiger Schritt für mehr Windenergie, aber mit Defiziten beim Tempo – eine Einordnung mit Ausblick 1/n

🐦🔗: twitter.com/TMueller_Wue/statu

#windenergieflachenbedarfsgesetz #windbg #flachenausweisung #windenergie

Last updated 2 years ago

Bill Messmer · @wmessmer
238 followers · 169 posts · Server hachyderm.io

7/

I generally build one of these scripts for every library I work with. My debugger instance often has 20+ of these loaded. It's such a massive productivity boost for me.

You can even go so far as to set up means by which certain scripts can automatically load when they detect certain modules loaded (e.g.: load this script if you see dwarf.dll in the module list).

Play with it... I guarantee it'll make you more productive too :)

#windbg

Last updated 2 years ago

Bill Messmer · @wmessmer
235 followers · 159 posts · Server hachyderm.io

6/

But the real magic happens with that "getPreferredRuntimeTypedObject" method.

When displays something (or binds a name in 'dx'), it tries to find the "runtime type" of an object (usually via v-tables or RTTI).

Scripts, however, can hook into this with a "getPreferredRuntimeTypedObject" method.

Here, this method literally just says "the runtime type of any Dwarf_Die_s" is the type "Dwarf_Die_s" **WITHIN** dwarf.dll.

Now, I get a *LOT* better experience in locals/watch magically!

#windbg

Last updated 2 years ago

Bill Messmer · @wmessmer
234 followers · 158 posts · Server hachyderm.io

5/

So instead I have a script that I've written specifically for helping me with libdwarf. I can add things to it as I'm going along live in the script editing window of WinDbg preview.

Let's take a look at one small piece of this:

A few things are familiar from the examples:

1) I associate this class with Dwarf_Die_s (typeSignatureExtension)

2) I add some properties (die_offset and tag). The implementations of those aren't important right now...

#windbg #javascript #adventofcode

Last updated 2 years ago

Bill Messmer · @wmessmer
235 followers · 160 posts · Server hachyderm.io

2/

uses a lot of libraries. Some are internal. Some are .

To demonstrate this in a way you can follow, I'll talk about one of the OSS ones (so you can go build from source if you so desire).

For parsing DWARF information, we (currently) use libdwarf:

prevanders.net/dwarf.html

Since I'm often looking at Linux/Mac/etc... and the debugger, I often need to debug the debugger (including understanding what's going on in those libraries). Let's take an example...

#windbg #oss

Last updated 2 years ago

Bill Messmer · @wmessmer
235 followers · 160 posts · Server hachyderm.io

1/

The last few days, I've been doing a goofy solve problems using the and it's scripting and expression evaluation capabilities.

Why do I do this...? Because understanding and using some of the concepts used there can make you *massively* more productive with the debugger.

So today, I'm going to take a break and walk through a *CONCRETE* example.

#adventofcode #windbg #debugger

Last updated 2 years ago

Bill Messmer · @wmessmer
236 followers · 151 posts · Server hachyderm.io

7/

And now, it's a simple matter of projection to the "getPriority" method we just added.

Any method in a script can just be called via the @$scriptContents alias. It's literally the amalgamation of the namespaces of all executed scripts.

At the end, it's a simple .Sum() and we have the answer!

I'll note that there are *LOTS* of things which can be extended in with techniques like this:

- Processes
- Threads
- Modules
- Stack Frames
- Target Types
etc...

#windbg #javascript

Last updated 2 years ago

Bill Messmer · @wmessmer
236 followers · 151 posts · Server hachyderm.io

1/

Continuing on that whole using the theme: day 3!

If you were following along: day 1 entirely used a script and day 2 entirely used the expression evaluator without any scripting.

Today's answer (day 3) will mix both in some interesting ways!

The first thing to note here is that the scripting in allows you not only to just call functions but to extend the debugger and its types (internal and target). We'll do both here...

#adventofcode #windbg #debugger #javascript

Last updated 2 years ago

Bill Messmer · @wmessmer
236 followers · 151 posts · Server hachyderm.io

@osandov I've *tried* to pay attention to both -- especially since started supporting post-mortem debugging (including kernel cores).

It's certainly super interesting to see other perspectives and tools in that space.

#windbg #linux

Last updated 2 years ago

Bill Messmer · @wmessmer
236 followers · 151 posts · Server hachyderm.io

7/

So let's use this and get our answer to day 2 solely from the 'dx' EE:

Each array index of the @$guide variable is a "round" so we'll project that using .Select to the @$scoreGame method we created earlier...

Once we have the results from each individual round, we can simply .Sum() them to get the final answer.

And there it is: entirely from the expression evaluator with no "scripting" involved!

#adventofcode #windbg

Last updated 2 years ago

Bill Messmer · @wmessmer
236 followers · 151 posts · Server hachyderm.io

6/

Now, how can we use all of this to actually run the data we've created through all these little convenience methods...? Don't we need some scripting or something...!?

Nope. supports a very C# like LINQ paradigm:

learn.microsoft.com/en-us/wind

#windbg

Last updated 2 years ago

Bill Messmer · @wmessmer
236 followers · 151 posts · Server hachyderm.io

4/

The second thing to know here is that, in addition to variables, the 'dx' EE allows you to define first class functions (lambda expressions with capture) with a very C# like syntax.

So here, we'll define two methods. One that plays a round based on the ABC / XYZ characters in the game and one that subsequently scores that game's outcome based on the -1 (loss), 0 (tie), 1 (win) result:

#windbg

Last updated 2 years ago

Bill Messmer · @wmessmer
236 followers · 151 posts · Server hachyderm.io

2/

So that this makes sense, let's make one quick observation about the AoC #2 rock-paper-scissors game.

If you assign a value to each play (rock = 0, paper = 1, scissors = 2), simply doing "my play" minus "my opponent's play" turns the round into a simple lookup.

The other important thing to know here is that the 'dx' EE in allows you to create and use variables by prefixing @$ to a name.

Let's play...

#windbg

Last updated 2 years ago

Bill Messmer · @wmessmer
230 followers · 133 posts · Server hachyderm.io

1/

If you were following yesterday, I decided to play a goofy game of using the as the means of solving the problems.

Yesterday's answer to #1 used the built-in scripting to solve that problem. You might say that's "cheating" since I was really just writing a solution in JS.

So today -- I'm going to do something completely different! Day #2 of AoC using only the expression evaluator of the debugger:

learn.microsoft.com/en-us/wind

#adventofcode #windbg #debugger #javascript

Last updated 2 years ago

Bill Messmer · @wmessmer
230 followers · 139 posts · Server hachyderm.io

3/

There are two important methods of interest in any script:

initializeScript() - Called to initialize the script. Must return an array of objects describing how the script is bridged to the data model.

invokeScript() -- Called when you click the "Execute" button on the scripting tab of the ribbon in WinDbg Preview (or do a .scriptrun from console).

'host.namespace' is also an important concept that gives access to the root namespace of the (what 'dx' shows)

#windbg #javascript #debugger

Last updated 2 years ago

Bill Messmer · @wmessmer
230 followers · 139 posts · Server hachyderm.io

2/

First off, a basic introduction to debugger scripting. Yes, introduced as it's official means of scripting years back:

learn.microsoft.com/en-us/wind

#windbg #javascript

Last updated 2 years ago