[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [photran] Photran debugger problems---not sure where the problem is
|
Greg,
Thank you for pointing this out. I have managed to reproduce this bug
in pure C. It behaved exactly as expected given my Fortran diagnosis.
A really, really simple C project. The entire code is as follows:
1 #include <stdio.h>
2
3 int main( ) {
4 int i;
5 printf( "Help\n" );
6
7 for ( i=0; i<5000; i++ ) {
8 printf( "Number: %i %i\n", 5*i, i*i );
9 }
10 printf("Test breakpoint error!\n");
11 return 0;
12}
(line numbers clearly not in original, but I added them for clarity in
the next paragraph).
Placing breakpoints at lines 5 and 10 produces the following effects:
I stop at line 5. I start stepping through the loop and quickly get
bored; no output appears as you do so. If you then let the program
run, it hangs, with the last few lines being:
Number: 15720 9884736
Number: 15725 9891025
Numb85*stopped,reason="breakpoint-hit",bkptno="2",thread-id="1",frame={addr="0x004011df",func="main",args=[],file="../test.c",fullname="/cygdrive/d/Documents
and Settings/ja21673.MITLL/workspace/CTest/test.c",line="10"}
This is pretty clearly a problem with the way the debugger and program
outputs are interacting, especially with the odd way the programs
outputs get sent to the console asynchronously with the debugger. I
agree wholeheartedly; send it over to the CDT project. That's clearly
where the problem lies. How would I do that, exactly?
James
On Fri, May 6, 2011 at 1:56 PM, Greg Watson <g.watson@xxxxxxxxxxxx> wrote:
> James,
>
> The reason that you're not getting a lot of feedback on the debugger problem is that the debugger you're using is actually part of the C/C++ Development Tools (CDT) project, not Photran. What I would suggest you do is try creating a C project, compiling (obviously with a C compiler), then debugging it using a C/C++ Application launch configuration.
>
> If you see similar problems, then we could open a bug against the CDT debugger and someone from the CDT project would take a look at it. If it works without any problems, then we know it is something to do with using gdb on your system to debug a Fortran program. We would then have a chance of tracking down the offending output and possibly getting it fixed in CDT also.
>
> Regards,
> Greg
>
>
> On May 6, 2011, at 1:11 PM, James Hart wrote:
>
>> Hello everybody,
>>
>> I think I've worked out the fundamental behavior causing the problem.
>> No idea how to fix it, but I'm 99% certain I am absolutely correct.
>> All the facts fit.
>>
>> It's basically that the output to the console, when using print, is
>> oddly asynchronous (perhaps due to threads?), and worse, seems to
>> interact with the gdb debugging session console output. The result is
>> that when I produce console output in a loop, a large chunk of it gets
>> written to the same console that the gdb/mi interface uses. I guess
>> that "under the covers", they're really the same console session; I
>> should have realized. One of the things that doesn't get output is a
>> *newline* character. Thus the gdb command telling the system that
>> it's stopped at a breakpoint appears after some of the output from the
>> running fortran code, and thus is not recognized by eclipses gdb
>> parser. Thus the system hangs; Eclipse does not realize that the
>> debugger is at a breakpoint, and thus activates none of the
>> appropriate buttons, while the debugger sits there twiddling its
>> thumbs at the breakpoint.
>>
>> I can tell this is what is happening because I turned verbose debugger
>> output on, and recognize that the breakpoint stop command has, for
>> some reason, been appended to an (incomplete) version of the text my
>> code is producing, all in the same console.
>>
>> I hope this is specific enough that somebody can fix it. For my
>> purposes, I simply need to use demo code that doesn't use console
>> output, and I should be just dandy. Everything else seems to actually
>> work, despite the annoying error messages.
>>
>> James Hart
>>
>> On Fri, May 6, 2011 at 11:19 AM, James Hart <jamesahart79@xxxxxxxxx> wrote:
>>> Everybody,
>>>
>>> A follow up to me previous email.
>>>
>>> I've tried several fixes, none of which have changed the behavior of
>>> the bug in the slightest.
>>>
>>> I searched through the archives of this mailing list, and found the
>>> possibility that I would have to switch to an older JRE such as
>>> version 5, release 13. When I did this switch, nothing changed.
>>>
>>> Also, I realized I was running the program as a 32 bit program on a 64
>>> bit machine. I tried reinstalling everything with 64 bit options
>>> whenever the option was given. Also no change in behavior.
>>>
>>> Please, any help out there? Documentation is extremely sparse, and I
>>> would really like to bring my development environment into the 21
>>> century. These bugs are just killing me, though. If they aren't
>>> resolved, I'll have to pull back emphatically on any push for
>>> adoption.
>>>
>>> James Hart
>>>
>>> On Thu, May 5, 2011 at 1:54 PM, James Hart <jamesahart79@xxxxxxxxx> wrote:
>>>> Hello,
>>>>
>>>> I have been recently inspecting Photran to see how it handles in
>>>> real-world environments. I really like the idea of using Eclipse as
>>>> the basis for a large number of reasons, including the possibility of
>>>> expanding the functionality for in-house projects. Unfortunately, I
>>>> am having some serious issues with the debugger that make it
>>>> essentially useless for me needs as is currently stands.
>>>>
>>>> There are several different problems I have found, which do not
>>>> reassure me. However, I consider it likely that these problems are
>>>> due as much to my particular configuration as anything else. I have a
>>>> Windows XP 64 bit system with the gfortran and gdb debugger installed
>>>> as per the directions on the website.
>>>>
>>>> My game-breaker bugs is as follows:
>>>>
>>>> (1) When I place a debug point, some of the information from the
>>>> debugger apparently leaks over into the output console. The timing is
>>>> unpredictable, but repeatable with the same code. This would be a
>>>> minor problem if it weren't for the fact that the program also
>>>> sometimes hangs when this happens. When is again unpredictable; it
>>>> depends in my particular case how many lines have breakpoints, and
>>>> which lines they are. This is unacceptable.
>>>>
>>>> In my case, the last line of output from my simple console app looks like:
>>>>
>>>> Number 2205 0.50000149
>>>> 1738*stopped,reason="breakpoint-hit",bkptno="1",thread-id="1",frame={addr="0x0040135e",func="entry",args=[],file="../entry.f90",fullname="/cygdrive/d/Documents
>>>> and Settings/ja21673.MITLL/workspace/first_test/entry.f90",line="15"}
>>>>
>>>>
>>>> Several other (maybe related) irritants:
>>>>
>>>> (2) The output from the execution console is not encouraging, and
>>>> means almost nothing to me. My most recent session produced the
>>>> output:
>>>>
>>>> cygwin warning:
>>>> MS-DOS style path detected: D:\Documents and
>>>> Settings\ja21673.MITLL\workspace\first_test
>>>> Preferred POSIX equivalent is: /cygdrive/d/Documents and
>>>> Settings/ja21673.MITLL/workspace/first_test
>>>> CYGWIN environment variable option "nodosfilewarning" turns off this warning.
>>>> Consult the user's guide for more details about POSIX paths:
>>>> http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
>>>> .gdbinit: No such file or directory.
>>>> auto-solib-add on
>>>> Undefined command: "auto-solib-add". Try "help".
>>>> [New thread 5744.0x1194]
>>>> Error: dll starting at 0x77d40000 not found.
>>>> Error: dll starting at 0x77d40000 not found.
>>>> Error: dll starting at 0x77c20000 not found.
>>>> Error while mapping shared library sections:
>>>> /cygdrive/c/WINDOWS/SysWOW64/ntdll32.dll: No such file or directory.
>>>> [New thread 5744.0xde0]
>>>> Current language: auto; currently fortran
>>>> A syntax error in expression, near `.0'.
>>>>
>>>> (3) When I select an element of an array, this last part of the
>>>> console output is produced.
>>>>
>>>> I can send you a copy of the program and the output, if you'd like;
>>>> they aren't very long. I don't know what else is relevant; the
>>>> makefile, maybe? I just used the autogenerated one.
>>>>
>>>> --
>>>> Nature hates being reified.
>>>>
>>>
>>>
>>>
>>> --
>>> Nature hates being reified.
>>>
>>
>>
>>
>> --
>> Nature hates being reified.
>> _______________________________________________
>> photran mailing list
>> photran@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/photran
>
> _______________________________________________
> photran mailing list
> photran@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/photran
>
--
Nature hates being reified.