Silverfrost Forums

Welcome to our forums

SDBG exception

29 Nov 2017 12:50 #20890

I've got a new laptop and installed FTN95 on it, but when i try to run my application under the debugger, SDBG crashes with an exception E06D7363

my SDBG.INI file has the following lines:

IgnoreException-1=E06D7363 IgnoreException-2=00000001 IgnoreException-3=04242420 IgnoreException-4=E0000002 IgnoreException-5=C0000374 IgnoreException-6=406D1388

and it's stored in c:\windows. All the same setup as my old PC (where this problem doesn't occur)

what haven't I done that needs to be done? Is there an environmental that needs to be set that i've forgotten about?

TIA

K

29 Nov 2017 6:12 #20893

On my machine, sdbg is at:

C:\Users\Robert\AppData\Local\VirtualStore\Windows

It also needs a header:

[Debugger-Win32]

29 Nov 2017 8:01 #20894

thanks, VirtualStore was the answer!

K

2 Dec 2017 5:59 #20915

My understanding is that C:\Users\Robert\AppData\Local\VirtualStore\Windows is a copy of the file in \windows. This copy is created because the 'user' Robert does not have adequate rights to modify the file in c:\windows. This is a feature of changing user rights in recent versions of Windows O/S. It all gets a bit confusing, as depending on how you access the file, you will see either the virtual copy of the original file. ( This is real devilry as it can cause unexpected problems. )

The problem is that files like SDBG.INI should not be placed in directories like C:\Windows. Directories like C:\Program Files (x86)\Silverfrost\ftn95\include also have this problem. This problem has become progressively worse with Win 8.1 and Win 10.

Perhaps the solution is to use C:\ProgramData\Silverfrost\ftn95, where I think would allow users to change files.

This is a real issue to be addressed as files must be located where users have adequate rights. Relying on virtual copies is not a good solution.

John

2 Dec 2017 8:00 #20917

sdbg.ins is not installed. It is created when the user runs sdbg.exe and it contains user's data such as the last position and size of the various windows in the debugger.

2 Dec 2017 10:02 #20918

Paul,

If this is the case, the user may have the right to create the file, but not the right to modify (or delete ?) the file ? It is definitely an issue with user rights.

The virtual directory stores updated copies of files. Windows explorer knows this and links to the virtual files. I think Fortran OPEN does also. If you look at c:\windows directory (using explorer.exe), it will show the file as updated, but if you use files@ it will show different properties of the file in C:\windows and C:\Users\Robert\AppData\Local\VirtualStore\Windows I found this by using my cmptree utility (which is based on files@) then reviewing the directories using explorer.exe

I think it is not good to have .ini files 'virtualised' in this way. C:\Windows and C:\Program Files (x86) are protected directories. I thought C:\ProgramData was provided to overcome this problem

John

2 Dec 2017 11:26 #20920

John

The only problem is knowing where to find the file if you need to delete it.

I deleted all copies of sdbg.ini on my machine and then I ran sdbg.exe. Afterwards sdbg.ini was in...

C:\Users\Paul\AppData\Local\VirtualStore\Windows

If you need to reset the data, you can use File Explorer to search your machine for sdbg.ini and then delete all copies of this file.

4 Dec 2017 3:03 #20930

sdbg uses the ini Windows API calls. Originally they wrote to the Window directory. Windows 10 now redirects those files to the virtual store.

Kenny had taken his sdbg.ini file from an old machine and copied it to the Windows directory on his new machine.

5 Dec 2017 5:05 #20938

Robert,

FTN95 and utilities should not be using the 'Virtual Store'. Using Virtual Store just indicates the user does not have the appropriate user rights to access the file in the way you intend. Creating virtual copies of files is very confusing for users.

You need to change SDBG, PLATO etc to use either \users\'user'\... or if a general file then C:\ProgramData\Silverfrost\...

5 Dec 2017 7:24 #20942

John

Are you sure about this? Plato and SDBG use GetPrivateProfileInt etc. and (if my memory serves me correctly) these functions do the redirection automatically.

5 Dec 2017 8:07 (Edited: 5 Dec 2017 8:42) #20946

Paul,

I am not sure about this, but what is the purpose of Virtual Store ? I know it is confusing, as the file becomes an alias away from the file in original directory. Looks bad to me to have a hidden file in Virtual Store.

John

5 Dec 2017 8:40 #20947

what is the purpose of Virtual Store

John

It is one of those Microsoft innovations that may well address a significant security issue but also create a real headache for users for whom security is not a concern.

5 Dec 2017 8:48 #20948

You need to change SDBG, PLATO etc to use either \users\'user'\..

They do: C:\Users\Paul\AppData\Local\VirtualStore\Windows fits that scheme.

6 Dec 2017 12:33 #20956

Quoted from JohnCampbell or if a general file then C:\ProgramData\Silverfrost\...

Please login to reply.