Entrian Solutions

Entrian Attach 1.3.4: Bugfix for console control events

Sunday, November 27th, 2016 by Richie Hindle

I’m happy to announce Entrian Attach 1.3.4, with two bugfixes:

  • Console control events no longer cause the shim process (which sits between a debuggee and its parent) to exit.  Previously, if the parent checked whether the debuggee was still alive, and the debuggee’s console had been sent a console control event which it had ignored, the parent would think that the debuggee had died because the shim had died.  Now, only the death of the debuggee will cause the shim to die.  Thanks, Jools.
  • You can no longer resize the Conditions dialog smaller than its default size, making the OK and Cancel buttons disappear behind the other controls.  Thanks, Jools.

You can download the new release from the download page or the gallery.

Entrian Source Search 1.6.4: ‘Work like grep’; better memory usage

Sunday, November 27th, 2016 by Richie Hindle

I’m very happy to announce Entrian Source Search 1.6.4, with two new features:

  • ‘Work like grep’ shows one result line per source line, rather than one result line per match (note that stepping though the results still steps through every match).  Thanks, Chris.
  • You can now do a ‘Delete word backwards’ in the search box using Ctrl+Backspace.  Thanks, Ben.

…and two bugfixes:

  • Source Search is now ready to use as soon as Visual Studio loads the solution, rather than waiting until all the projects are loaded.  Thanks, Ernie.
  • Reduced excessive memory usage caused by queuing up too many files for indexing.  The thread that walks your source tree queuing up files to index now waits for the indexing thread to catch up a bit, rather than building an indefinitely-long queue.  Also reduced memory usage by automatically excluding more known-binary file types without opening them, and excluding them earlier in the process so that they don’t take up space in the queue.  Thanks, Fred.

Existing users should note that upgrading to 1.6.4 will rescan all your files, in order to index the line breaks for ‘work like grep’.  Until that process is complete, Source Search won’t ’work like grep’, and will display a warning explaining that the update is incomplete.

You can download the new release from the download page or the gallery.

Entrian Inline Watch 1.0.3: Fixes for Just My Code and saving settings.

Saturday, November 26th, 2016 by Richie Hindle

I’m pleased to announce Entrian Inline Watch 1.0.3, which fixes three bugs:

  • For some users, changing the settings and OK’ing the settings dialog would fail to save the new settings after the first time.  Thanks, Miha and Jordan.
  • When debugging with Just My Code enabled, visiting a stack frame other than the top one could display values for a frame above or below the one you were actually looking at.  Thanks, Chris.
  • Displaying a long string value containing the substring $& could cause Inline Watch to hang.

This new release is available from the download page or the gallery.

Entrian Inline Watch 1.0.2: Important bugfix for Unity users

Monday, June 27th, 2016 by Richie Hindle

I’ve just released Entrian Inline Watch 1.0.2, which fixes the following howling bug:

  • When debugging a Unity C# script with Inline Watch, it could pass the methods calls in your code to the Unity debugging engine to be evaluated.  So if your code contains the line WeaponList.Clear(); and you stepped through the code, Inline Watch would cause that code to be executed at the wrong time, and your WeaponList would be mysteriously cleared.  This is not very good.  Thanks, Martin.

This new release is available from the download page or the gallery, and is a highly recommended update for Unity users!  (Standard .NET debugging with Visual Studio is unaffected.)


Entrian Source Search 1.6.3: index management, command line

Monday, June 6th, 2016 by Richie Hindle

I’m really pleased to announce Entrian Source Search 1.6.3, which adds significant flexibility to the way you use Source Search:

  • Move, delete, and rename indexes.
  • Open multiple indexes at the same time.
  • Share indexes on the network.
  • Specify the location of new indexes.
  • A command-line tool for searching and indexing.

The Manage Indexes dialog

The Manage Indexes dialog adds a pile of features for index management:

  • Moving indexes from one place to another (eg. from one drive to another).
  • Deleting old indexes.
  • Recreating corrupt indexes.
  • Creating secondary indexes that aren’t tied to a solution.


Secondary indexes

1.6.3 also introduces the idea of a “secondary index” – each solution gets (or shares) a primary index as before, but you can open several secondary indexes as well.  These are really useful for library code – for instance, Source Search is build using Lucene.NET; sometimes I want to include the Lucene sources in my searches, and sometimes not.  I can build a secondary index for Lucene, and only open it when I want to.


Read-only indexes

Often library code doesn’t change, so secondary indexes can be read-only – you don’t need to waste your PC’s time scanning for changes if you don’t want to, because you can open secondary indexes read-only.


Networked indexes

Taking the idea of a secondary index even further, they can live on a network drive.  Some organisations keep library code on a network drive, and Source Search now supports this.  One network server maintains the index for the shared code, updating it in real time if it changes, and all the developers open that index as a read-only secondary index.


Command line tool: ess.exe

You can now drive Source Search from the command line:

  • Create an index, specifying the root directories, inclusions, exclusions, etc.
  • Update an index to pick up changes to the code (the command-line tool doesn’t watch the filesystem; it’s more for batch operation).
  • Search one or more indexes.

It’s early days for ess.exe – there’s lots it could do but can’t do yet.  Let me know what you want from it!


As always, this new release is available from the download page or the gallery.


Inline Watch 1.0.1: A boatload of bugfixes

Tuesday, May 3rd, 2016 by Richie Hindle

I’ve just released Entrian Inline Watch 1.0.1, which fixes the following bugs:

  • Values for long strings no longer sometimes gain an extra double-quote character.  Thanks, Martin.
  • Where a debugger uses backticks in 64-bit addresses (like the WndDBG engine does) Inline Watch no longer only sees the part before the first backtick.
  • Values are now displayed for array lookups that use an expression for the array suffix, eg. a[i+1].  Thanks, Martin.
  • Fixed a crash when Visual Studio gets into a state where it can’t access the debuggee’s call stack.  Thanks, Fred.
  • Where an accessor or array expression is followed by a semicolon or a comma (like.this();) the value is now displayed in the right place, rather than after the semicolon.  Thanks, Martin.
  • Values containing ampersands are now wide enough (gee thanks, TextRenderer.MeasureText()).
  • Redundant values are no longer shown for enum constants, eg. MyEnum.AValue AValue.  Thanks, Martin C.
  • Showing a popup for a very long string (like, into the megabytes) no longer hangs Visual Studio for a few seconds – super-long strings are truncated (with an annotation to tell you it’s happened) in the popup.  Thanks, Jools.
  • Popups for long strings no longer fall off the bottom of the screen, and popups remember their positions properly in High DPI mode.  Thanks, Martin.

This new release is available from the download page or the gallery.


Entrian Inline Watch 1.0 RC

Tuesday, March 22nd, 2016 by Richie Hindle

I’m excited to announce Entrian Inline Watch 1.0 RC:

  • You can now specify an alternative object display format for popup windows, which can contain newlines (using \n).  This goes in an optional third column in the Object Display rules, and lets you do this sort of thing:

  • You can now use a conditional operator with string values in an object display format, eg. Overdrawn: {balance < 0 ? "Yes" : "No"} (thanks, Martin).
  • Referencing a non-existent member in an accessor display rule no longer causes a crash (thanks, Martin).
  • Popups are now high contrast in high contrast mode.

This is the first non-Beta release of Entrian Inline Watch, meaning that the “Free during Beta”period has ended.  You now get a free trial period of 30 individual days of usage, then you need to buy a license for $29 (or $24 with volume discount).

Should you feel the need to rush off and buy a license right now, the Entrian Inline Watch Online Store is open for business.  :-)

You can download 1.0 RC from the download page or the gallery.

Entrian Inline Watch 0.9.12 Beta: Popups and recursive formatting rules

Monday, February 15th, 2016 by Richie Hindle
I’m very pleased to annnounce Entrian Inline Watch 0.9.12, with these new features:
  • Hovering over a displayed value now displays a popup showing more information:

    For integers, it shows the value in decimal, hex, octal(*) and binary.  For other types (including strings) it shows the full non-truncated value. You can pin those popups, so that they reappear when you re-enter their scope. They’re not constrained to the Visual Studio window, so you can pin them wherever you like, including on a different monitor. 

    (*) Because you’re debugging a PDP-8 using Nixie tubes, right?

  • Both object formatting rules and accessor function rules now look up further formatting rules for the members they’re rendering, so if you have a rule for member m_x of type X, and a rule for type X, m_x will be formatted according to the rule for type X.  Thanks, Martin.
  • You can now refer to the object itself in a format rule, by using an underscore. For example, to display HWNDs as plain hex, you can create a rule to display HWND__ as {(void*)&_}.  Thanks, Martin.

This new release is available from the download page or the gallery.

(Update: 0.9.13 fixes a bug in the Pinned Popups feature, which now might actually work. :-) )