31i73 / atom-dbg

An Atom package - An interactive debugger frontend
https://atom.io/packages/dbg
MIT License
30 stars 4 forks source link

No output buffer display #24

Open discard-22524 opened 7 years ago

discard-22524 commented 7 years ago

I use the plugin to track a logic error for my C++ code, but the output buffer can not display, I think it's a trouble to read the debug log, how can I call it out? I need it work for me.

qq20170513-235509 2x

OS : MacOS 10.12.4 Atom : 1.16.0 gdb : 7.12.1, installed by homebrew plugin : dbg 1.4.1, dbg-gdb 1.7.1

ProPuke commented 7 years ago

Hi. Is the output-panel package installed?

It should have been installed automatically. If not then try installing it manually.

The current version of output-panel is only available for the new Atom beta (as it uses the new docking feature), so this might have broken automatic downloading of the older version.

Cheers

discard-22524 commented 7 years ago

在 2017年5月14日,20:26,Luke notifications@github.com 写道:

Hi. Is the output-panel https://atom.io/packages/output-panel package installed?

It should have been installed automatically. If not then try installing it manually.

The current version of output-panel is only available for the new Atom beta (as it uses the new docking feature), so this might have broken automatic downloading of the older version.

Cheers

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/31i73/atom-dbg/issues/24#issuecomment-301308997, or mute the thread https://github.com/notifications/unsubscribe-auth/AQpAZA3DgUj59oVzuI4vsrroJ9qYGgYyks5r5vLggaJpZM4NaHHY.

Thank you for reply mail.

I have been installed the output-panel yet, it can be aroused form command-line :” Output panel: show”, but nothing to be displayed int the output buffer…

emm…So I think I should switch the beta version for Atom. If the problem still exist after I attempted, I will send a mail to describe it.

discard-22524 commented 7 years ago

well…

when I used the Atom beta, the output-panel looks as if can correctly work.

image

but when debugging finished, the output buffer cannot automatically hidden.

image

If I close it with my hand, the buffer will disappear, the buffer can’t be popup in next debug, even through when I used the command ”Output Panel: Show”, there's nothing appeared.

image

I think this close bottom maybe have some slight problems…

image

Moreover, If the output buffer can automatically hidden when the debug finished, just like Variables and Stack window, the plugin will be great.

ProPuke commented 7 years ago

Hi. Thanks, there are a few things I can improve here.

I was not able to reproduce the reported problem with Output Panel: Show not working (after hiding the panel). Do any error messages appear in the developer tools console (Ctrl+Shift+I) when hiding the panel, or attempting to recall it with Output Panel: Show?

Autohiding does make a lot of sense. I'll get this fixed next, thanks for the feedback.

The reason the output panel doesn't current automatically close is that I was worried people might need to see program output after a program being debugged terminates. But this probably only makes sense if your program closes naturally (not via stopping the debugger), and has printed text since your last debugger interaction. If this isn't the case I'll have it autohide instead, as you suggest.

discard-22524 commented 7 years ago

I observe the problem have some changes when I upgraded another package called linter.Before I upgrade it, the Output Buffer can be opened and hidden by command: Output Panel: Toggle.

After my upgrade the linter, when I call Output Panel: Toggle the buffer can't correctly display. However, if the program has some syntax error, the linter will show a panel to list this error, and our buffer will appeared in the same time , the same place:

image

And if I try to change the height of panel, the Atom will throw a exception like this:

image

Then I close the Output buffer, call Output Panel: Show and check the developer console:

image

I think the problem was a compatibility issue, two packages maybe have some conflicts. But even though I disable the linter, sometimes the Output buffer still can't automatically open when I starting the Debug.

Moreover, The linter list and output panel shared the same area, that is to say I can disable the Hide Panel When Empty in linter settings to let them live in peace. This is a compromise way to solve the problem. How do you think of this?

image

ProPuke commented 7 years ago

Ahh yes. There is a recent known issue with Linter. I've reported it: https://github.com/steelbrain/linter-ui-default/issues/322. Currently Linter is not stable to use with other packages that use the bottom dock. It seems the output panel not always showing is caused by the same issue.

It might be best to disable Linter until this is fixed, if possible.

The ioctl(2) error is weird. I've not seen that before and it's not something I can reproduce. Does it happen every time?

I'll get started on the autohiding improvements...

ProPuke commented 7 years ago

Okay, output panel behaviour should be much better now. Let me know if there are still issues (and Linter is disabled)

discard-22524 commented 7 years ago

I tried the new vision without linter(I disabled thebusy-signal,linter-ui-default,linterandlinter-gcc), the autohiding seems can correctly work. But if I used the close button to close the panel before debug finish, The panel will done, and I can't open it any more, auto display can't work, either. I suggest the close button should call Output Panel: Toggle(),instead of close the panel.

image

And ioctl(2) failed is a commonly error, It's usually happen in different moments... I don't really know much about Atom's package, so I'm hard to describe that how the error happened. But I can sure when output panel cannot correctly display the error will happen.

image

The another trouble is, autohiding leads to the linter panel cannot display. If code have some syntax error the linter panel will automatically show them. Before autohiding add, linter and output shared the bottom panel, the linter's toggle control them display and hiding. But now autohiding hide them together so the linter cannot normally open too, can u control the panel for Tabs not whole dock?

image

One more thing, with respect to autohiding, I think your opinion is right, there are some people who don't need the autohiding, so you can add a switch to control this feature in settings, increase another choice, for different people, sounds great, right?