OANSI
OANSI

Reputation: 21

Debugging a third party program

So, firstly I appreciate this question is quite ambiguous, but that is because the problem itself is ambiguous.

Our company uses a very bespoke, "off the shelf" product, which is specific to our industry, but is a bit of a giant web when it comes to the configuration, it's an empty box that can be configured to do all manner of things.

Long story short the installation of this program has been in place for well over 20 years, built upon and built upon.

We are in the year 2020, and the programs performance is rock bottom.

Basic generic bits about the program; It runs through a network location (shortcut startup is on a file server, to use common files over network for multi user setup) It connects to a firebird database (v 2.5) It is written in Delphi

Hopefully the above gives you at least some indication into the kind of program it is.

My question really is, when I hit button XYZ on the program, is there any way I can hook into the program to get an idea of what it's doing?

I am very suspicious of the time delays that are caused, and I believe them to be timeouts, so it's trying to search in some old UNC/ip address for files, they no longer exist, so it waits 15 seconds (as an example), times out, then responds again.

Is there any way for me to see what it's doing?

I am a software developer, primarily C#, .net framework, php etc, so I'm not unfamiliar with debugging, and attaching Visual Studios to processes, but not sure if it'll provide anything useful (testing now) or if there is something better out there, like "Process explorer", if it can just tell me different connections etc it's trying to make?

Upvotes: 1

Views: 151

Answers (1)

0909EM
0909EM

Reputation: 5027

From the Delphi IDE you can attach to a running process, but I think you'd need source code to work with, so this probably isn't helpful.

You might be able to use process monitor to extract some useful information regarding file system/registry access.

Assuming its got inbuilt support (ie, the relevant bit of code exists in Delphi for it (I doubt it) you could monitor database calls using dbMonitor, alternatively, you could look into setting up an odbc trace.

I guess the other thing you could do, is speak to the vendor/obtain documentation on all the configuration that you're interested in...

Good luck!

Upvotes: 1

Related Questions