Hi, I can successfully create a wxFrame under GDB’s python interface, the command I run was “source sim.py”, the sim.py contains such code:
import wx
app = wx.App()
frame = wx.Frame(None, -1, ‘simple.py’)
frame.Show()
app.MainLoop()Enter code here…
``
Here is the screen shot when a wxFrame is show. See the image shot here:
http://i683.photobucket.com/albums/vv194/ollydbg_cb/2014-07-28230509_zps79309703.png
I was testing under WinXP.
Now, I would like run the same command under Code::Blocks IDE, here the IDE works as a front end of GDB, and the IDE communicates GDB with pipes (stdin, stdout, stderror), but strange that the same command “source sim.py” don’t show any Frame window.
If I run the sim.py script line by line under a normal command line GDB, I noticed that after I type the “python frame.Show()” command, a window will pop up, though the window’s content is not updated until I run the command “app.MainLoop()”, which cause the event goes to this window.
But under Code::Blocks’ IDE, after I type the “python frame.Show()”, no window was pop up, the strange thing is:
if I type “python print frame.GetPosition()”, I do get the response “(88, 88)”,
if I type “python print frame.GetSize()”, I do get the response “(400, 250)”,
and both “python print frame.IsShown()” and “python print frame.IsShownOnScreen()” will return “True”.
So, the wxPython system just though the window is shown, but I can’t see the any window, where is the window?
Any hints about this?
Thanks.
BTW: I have checked the “PATH” and “PYTHON_PATH”, and both of the two sessions are the same.
I have also post this question in Code::Blocks’ forum: my post in Code::Blocks forum.
asmwarrior(ollydbg)