Event ID: 26, exception 0x40000015
-
Tuesday, October 09, 2007 9:47 AM
What does it stand for?
"Application popup: Station.exe - Application Error: The exception unknown software exception (0x40000015) occured in the application at location 0x7813461a."
How should I understand it? -- You have assigned it a value, but you do not know why that value was assigned, eh? Who knows then?
All Replies
-
Tuesday, October 09, 2007 11:00 AMModeratorPlease post your VB.NET code that causes this error.
-
Wednesday, October 10, 2007 8:17 AMSorry to say that, but this is not my program, I just write a DLL for it. And I have no opportunity to determine, which part of code is failing. Wanted to know at least direction of analysis. So far I have zero understanding what could be the source.
-
Friday, October 12, 2007 8:16 AM
Vadim Maksimenko,
Since there no related information on the error message about your application or the DLL, I would like to provide you the following related threads with the similar problem as yours, hope that can help you to understand the problem:
Debugging Problems in VSNet 2005
I started to have exactly the same error (iexplore.exe - Application ErrorThe exception unknown software exception (0x40000015) occurred in the application at location 0x7813461a.) after in IE I unchecked "Disable Script Debugger(internet Explorer)".
So I had to Disable Script Debugger again to be able start my website with debugging from VS 2005.
I am using Windows 2003 server and VS 2005 Team Edition.
Hope that can help you.
-
Friday, October 12, 2007 9:56 AMFinally I have found the source of the problem. I need to write directly to a COM port, because Windows standard technic sucks -- RS-232 to RS485 converter needs strictly timed RTS handling. Normal combination of WriteFile() and DCB.fRtsControl=RTS_CONTROL_TOGGLE is absolutely nonfunctional. This is a log file excerpt:
4=[2007-10-03 14:13:21.093] 3 byte(s) to COM2: 50 20 FA
5=[2007-10-03 14:13:21.093] COM2 has got an error
0=[2007-10-03 14:13:21.093] COM2 has got a framing error
0=[2007-10-03 14:13:21.093] COM2 has got a parity error
0=[2007-10-03 14:13:21.109] Number of sent bytes is 0 instead of 3: Communication write malfunction.
The olny solution I have found is to directly write into serial port registers (access granted via specially written driver), but... after a day of running my application collapses with the mentioned above exception. That happens not immediatelly, but after good ...teen hours.
[code]
unsigned Comm:
irect(const char *data,unsigned size)
{
const char *byte;
char mask[2];
unsigned count;
mask[0]=mask[1]=dpio->GetDB(MCR); // get MCR value
if(CTRL[0]==Control::Halfduplex)
mask[1]|=1;
if(CTRL[1]==Control::Halfduplex)
mask[1]|=2;
if(mask[0]!=mask[1])
{
dpio->PutDB(MCR,mask[1]); // set modem bits
mask[0]=mask[1];
}
while((dpio->GetDB(LSR)&0x60)!=0x60); // wait for data holding registers to be empty
for(byte=data,count=0;count<size;count++,byte++)
{
dpio->PutDB(IOR,*byte); // send a byte
while(!(dpio->GetDB(LSR)&0x20)); // wait for data holding registers to be empty
}
while((dpio->GetDB(LSR)&0x60)!=0x60&&(dpio->GetDB(IIR)&3)!=2); // wait for data holding registers to be empty and interrupt pending
if(CTRL[1]==Control::Halfduplex)
mask[1]&=253;
if(CTRL[0]==Control::Halfduplex)
mask[1]&=254;
if(mask[0]!=mask[1])
dpio->PutDB(MCR,mask[1]); // set modem bits
return(count);
}
[/code]
So, those are my questions:
1. Is there a *working* serial driver with *working* RTS_CONTROL_TOGGLE in the world?
2. If negative, how might I switch off that 0x40000015 exception generation? I write "switch off" because it is described as *software* one, not hardware exception.
Yours faithfully, Vadim. -
Friday, October 12, 2007 12:03 PMModerator
Nice VB code. Directly writing registers deserves you a lot worse than 0x40000015. Did you even disable the serial port driver? Just use a timer, writing N bytes takes 10 * N / baudrate seconds. You should write your own device driver if that's not good enough. Post follow-up questions to a DDK newsgroup at www.microsoft.com/communities.

