IDLE无法在Windows上打开调试版本

Abh*_*jit 5 python debugging python-idle python-2.7

我从http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz下载了源代码,并借助于http://docs.python.org/devguide/的说明setup.html,我能够从源代码构建Python.

现在尝试运行命令时

C:\Python-2.7.6\PCbuild\pythonw_d.exe c:\Python-2.7.6\Lib\idlelib\idle.py
Run Code Online (Sandbox Code Playgroud)

什么都没有出现.

所以我开始调试,首先通过以下代码片段将控制台添加到Windows应用程序 pythonw\WInMain.c

void RedirectStdoutToNewCOnsole()
{
    HANDLE consoleHandle;
    FILE *fp;
    int fileDescriptor;
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    AllocConsole();
    consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
    fileDescriptor = _open_osfhandle((intptr_t)consoleHandle, _O_TEXT);
    fp = _fdopen( fileDescriptor, "w" );
    *stdout = *fp;
    setvbuf( stdout, NULL, _IONBF, 0 );        
    if ( GetConsoleScreenBufferInfo(consoleHandle, &csbi) )
    {
        COORD bufferSize;
        bufferSize.X = csbi.dwSize.X;
        bufferSize.Y = 1000;
        SetConsoleScreenBufferSize(consoleHandle, bufferSize);
    }
}
Run Code Online (Sandbox Code Playgroud)

我能够看到源被正确解析

Token NAME/'import' ... It's a keyword
 DFA 'file_input', state 0: Push ...
 DFA 'stmt', state 0: Push ...
 DFA 'simple_stmt', state 0: Push ...
 DFA 'small_stmt', state 0: Push ...
 DFA 'import_stmt', state 0: Push ...
 DFA 'import_name', state 0: Shift.
Token NAME/'os' ... It's a token we know
 DFA 'import_name', state 1: Push ...
 DFA 'dotted_as_names', state 0: Push ...
 DFA 'dotted_as_name', state 0: Push ...
 DFA 'dotted_name', state 0: Shift.
Token DOT/'.' ... It's a token we know
 DFA 'dotted_name', state 1: Shift.
Token NAME/'path' ... It's a token we know
 DFA 'dotted_name', state 0: Shift.
Token NEWLINE/'' ... It's a token we know
 DFA 'dotted_name', state 1: Pop ...
 DFA 'dotted_as_name', state 1: Pop ...
 DFA 'dotted_as_names', state 1: Pop ...
 DFA 'import_name', state 2: Pop ...
 DFA 'import_stmt', state 1: Pop ...
 DFA 'small_stmt', state 1: Pop ...
 DFA 'simple_stmt', state 1: Shift.
  DFA 'simple_stmt', state 3: Direct pop.
  DFA 'stmt', state 1: Direct pop.
Token NAME/'import' ... It's a keyword
 DFA 'file_input', state 0: Push ...
 DFA 'stmt', state 0: Push ...
 DFA 'simple_stmt', state 0: Push ...
 DFA 'small_stmt', state 0: Push ...
 DFA 'import_stmt', state 0: Push ...
 DFA 'import_name', state 0: Shift.
Token NAME/'sys' ... It's a token we know
 DFA 'import_name', state 1: Push ...
 DFA 'dotted_as_names', state 0: Push ...
 DFA 'dotted_as_name', state 0: Push ...
 DFA 'dotted_name', state 0: Shift.
Token NEWLINE/'' ... It's a token we know
 DFA 'dotted_name', state 1: Pop ...
 DFA 'dotted_as_name', state 1: Pop ...
 DFA 'dotted_as_names', state 1: Pop ...
 DFA 'import_name', state 2: Pop ...
 DFA 'import_stmt', state 1: Pop ...
 DFA 'small_stmt', state 1: Pop ...
 DFA 'simple_stmt', state 1: Shift.
  DFA 'simple_stmt', state 3: Direct pop.
  DFA 'stmt', state 1: Direct pop.
Token NAME/'idlelib_dir' ... It's a token we kno
 DFA 'file_input', state 0: Push ...
 DFA 'stmt', state 0: Push ...
 DFA 'simple_stmt', state 0: Push ...
 DFA 'small_stmt', state 0: Push ...
 DFA 'expr_stmt', state 0: Push ...
 DFA 'testlist', state 0: Push ...
 DFA 'test', state 0: Push ...
 DFA 'or_test', state 0: Push ...
 DFA 'and_test', state 0: Push ...
 DFA 'not_test', state 0: Push ...
 DFA 'comparison', state 0: Push ...
 DFA 'expr', state 0: Push ...
 DFA 'xor_expr', state 0: Push ...
 DFA 'and_expr', state 0: Push ...
 DFA 'shift_expr', state 0: Push ...
 DFA 'arith_expr', state 0: Push ...
 DFA 'term', state 0: Push ...
 DFA 'factor', state 0: Push ...
 DFA 'power', state 0: Push ...
 DFA 'atom', state 0: Shift.
  DFA 'atom', state 5: Direct pop.
Token EQUAL/'=' ... It's a token we know
 DFA 'power', state 1: Pop ...
 DFA 'factor', state 2: Pop ...
 DFA 'term', state 1: Pop ...
 DFA 'arith_expr', state 1: Pop ...
 DFA 'shift_expr', state 1: Pop ...
 DFA 'and_expr', state 1: Pop ...
 DFA 'xor_expr', state 1: Pop ...
 DFA 'expr', state 1: Pop ...
 DFA 'comparison', state 1: Pop ...
 DFA 'not_test', state 2: Pop ...
 DFA 'and_test', state 1: Pop ...
 DFA 'or_test', state 1: Pop ...
 DFA 'test', state 1: Pop ...
 DFA 'testlist', state 1: Pop ...
 DFA 'expr_stmt', state 1: Shift.
Token NAME/'os' ... It's a token we know
 DFA 'expr_stmt', state 3: Push ...
 DFA 'testlist', state 0: Push ...
 DFA 'test', state 0: Push ...
 DFA 'or_test', state 0: Push ...
 DFA 'and_test', state 0: Push ...
 DFA 'not_test', state 0: Push ...
 DFA 'comparison', state 0: Push ...
 DFA 'expr', state 0: Push ...
 DFA 'xor_expr', state 0: Push ...
 DFA 'and_expr', state 0: Push ...
 DFA 'shift_expr', state 0: Push ...
 DFA 'arith_expr', state 0: Push ...
 DFA 'term', state 0: Push ...
 DFA 'factor', state 0: Push ...
 DFA 'power', state 0: Push ...
 DFA 'atom', state 0: Shift.
  DFA 'atom', state 5: Direct pop.
Token DOT/'.' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'path' ... It's a token we know
 DFA 'trailer', state 3: Shift.
  DFA 'trailer', state 5: Direct pop.
Token DOT/'.' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'dirname' ... It's a token we know
 DFA 'trailer', state 3: Shift.
  DFA 'trailer', state 5: Direct pop.
Token LPAR/'(' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'os' ... It's a token we know
 DFA 'trailer', state 1: Push ...
 DFA 'arglist', state 0: Push ...
 DFA 'argument', state 0: Push ...
 DFA 'test', state 0: Push ...
 DFA 'or_test', state 0: Push ...
 DFA 'and_test', state 0: Push ...
 DFA 'not_test', state 0: Push ...
 DFA 'comparison', state 0: Push ...
 DFA 'expr', state 0: Push ...
 DFA 'xor_expr', state 0: Push ...
 DFA 'and_expr', state 0: Push ...
 DFA 'shift_expr', state 0: Push ...
 DFA 'arith_expr', state 0: Push ...
 DFA 'term', state 0: Push ...
 DFA 'factor', state 0: Push ...
 DFA 'power', state 0: Push ...
 DFA 'atom', state 0: Shift.
  DFA 'atom', state 5: Direct pop.
Token DOT/'.' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'path' ... It's a token we know
 DFA 'trailer', state 3: Shift.
  DFA 'trailer', state 5: Direct pop.
Token DOT/'.' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'dirname' ... It's a token we know
 DFA 'trailer', state 3: Shift.
  DFA 'trailer', state 5: Direct pop.
Token LPAR/'(' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'os' ... It's a token we know
 DFA 'trailer', state 1: Push ...
 DFA 'arglist', state 0: Push ...
 DFA 'argument', state 0: Push ...
 DFA 'test', state 0: Push ...
 DFA 'or_test', state 0: Push ...
 DFA 'and_test', state 0: Push ...
 DFA 'not_test', state 0: Push ...
 DFA 'comparison', state 0: Push ...
 DFA 'expr', state 0: Push ...
 DFA 'xor_expr', state 0: Push ...
 DFA 'and_expr', state 0: Push ...
 DFA 'shift_expr', state 0: Push ...
 DFA 'arith_expr', state 0: Push ...
 DFA 'term', state 0: Push ...
 DFA 'factor', state 0: Push ...
 DFA 'power', state 0: Push ...
 DFA 'atom', state 0: Shift.
  DFA 'atom', state 5: Direct pop.
Token DOT/'.' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'path' ... It's a token we know
 DFA 'trailer', state 3: Shift.
  DFA 'trailer', state 5: Direct pop.
Token DOT/'.' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'abspath' ... It's a token we know
 DFA 'trailer', state 3: Shift.
  DFA 'trailer', state 5: Direct pop.
Token LPAR/'(' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'__file__' ... It's a token we know
 DFA 'trailer', state 1: Push ...
 DFA 'arglist', state 0: Push ...
 DFA 'argument', state 0: Push ...
 DFA 'test', state 0: Push ...
 DFA 'or_test', state 0: Push ...
 DFA 'and_test', state 0: Push ...
 DFA 'not_test', state 0: Push ...
 DFA 'comparison', state 0: Push ...
 DFA 'expr', state 0: Push ...
 DFA 'xor_expr', state 0: Push ...
 DFA 'and_expr', state 0: Push ...
 DFA 'shift_expr', state 0: Push ...
 DFA 'arith_expr', state 0: Push ...
 DFA 'term', state 0: Push ...
 DFA 'factor', state 0: Push ...
 DFA 'power', state 0: Push ...
 DFA 'atom', state 0: Shift.
  DFA 'atom', state 5: Direct pop.
Token RPAR/')' ... It's a token we know
 DFA 'power', state 1: Pop ...
 DFA 'factor', state 2: Pop ...
 DFA 'term', state 1: Pop ...
 DFA 'arith_expr', state 1: Pop ...
 DFA 'shift_expr', state 1: Pop ...
 DFA 'and_expr', state 1: Pop ...
 DFA 'xor_expr', state 1: Pop ...
 DFA 'expr', state 1: Pop ...
 DFA 'comparison', state 1: Pop ...
 DFA 'not_test', state 2: Pop ...
 DFA 'and_test', state 1: Pop ...
 DFA 'or_test', state 1: Pop ...
 DFA 'test', state 1: Pop ...
 DFA 'argument', state 1: Pop ...
 DFA 'arglist', state 1: Pop ...
 DFA 'trailer', state 4: Shift.
  DFA 'trailer', state 5: Direct pop.
Token RPAR/')' ... It's a token we know
 DFA 'power', state 1: Pop ...
 DFA 'factor', state 2: Pop ...
 DFA 'term', state 1: Pop ...
 DFA 'arith_expr', state 1: Pop ...
 DFA 'shift_expr', state 1: Pop ...
 DFA 'and_expr', state 1: Pop ...
 DFA 'xor_expr', state 1: Pop ...
 DFA 'expr', state 1: Pop ...
 DFA 'comparison', state 1: Pop ...
 DFA 'not_test', state 2: Pop ...
 DFA 'and_test', state 1: Pop ...
 DFA 'or_test', state 1: Pop ...
 DFA 'test', state 1: Pop ...
 DFA 'argument', state 1: Pop ...
 DFA 'arglist', state 1: Pop ...
 DFA 'trailer', state 4: Shift.
  DFA 'trailer', state 5: Direct pop.
Token RPAR/')' ... It's a token we know
 DFA 'power', state 1: Pop ...
 DFA 'factor', state 2: Pop ...
 DFA 'term', state 1: Pop ...
 DFA 'arith_expr', state 1: Pop ...
 DFA 'shift_expr', state 1: Pop ...
 DFA 'and_expr', state 1: Pop ...
 DFA 'xor_expr', state 1: Pop ...
 DFA 'expr', state 1: Pop ...
 DFA 'comparison', state 1: Pop ...
 DFA 'not_test', state 2: Pop ...
 DFA 'and_test', state 1: Pop ...
 DFA 'or_test', state 1: Pop ...
 DFA 'test', state 1: Pop ...
 DFA 'argument', state 1: Pop ...
 DFA 'arglist', state 1: Pop ...
 DFA 'trailer', state 4: Shift.
  DFA 'trailer', state 5: Direct pop.
Token NEWLINE/'' ... It's a token we know
 DFA 'power', state 1: Pop ...
 DFA 'factor', state 2: Pop ...
 DFA 'term', state 1: Pop ...
 DFA 'arith_expr', state 1: Pop ...
 DFA 'shift_expr', state 1: Pop ...
 DFA 'and_expr', state 1: Pop ...
 DFA 'xor_expr', state 1: Pop ...
 DFA 'expr', state 1: Pop ...
 DFA 'comparison', state 1: Pop ...
 DFA 'not_test', state 2: Pop ...
 DFA 'and_test', state 1: Pop ...
 DFA 'or_test', state 1: Pop ...
 DFA 'test', state 1: Pop ...
 DFA 'testlist', state 1: Pop ...
 DFA 'expr_stmt', state 5: Pop ...
 DFA 'small_stmt', state 1: Pop ...
 DFA 'simple_stmt', state 1: Shift.
  DFA 'simple_stmt', state 3: Direct pop.
  DFA 'stmt', state 1: Direct pop.
Token NAME/'sys' ... It's a token we know
 DFA 'file_input', state 0: Push ...
 DFA 'stmt', state 0: Push ...
 DFA 'simple_stmt', state 0: Push ...
 DFA 'small_stmt', state 0: Push ...
 DFA 'expr_stmt', state 0: Push ...
 DFA 'testlist', state 0: Push ...
 DFA 'test', state 0: Push ...
 DFA 'or_test', state 0: Push ...
 DFA 'and_test', state 0: Push ...
 DFA 'not_test', state 0: Push ...
 DFA 'comparison', state 0: Push ...
 DFA 'expr', state 0: Push ...
 DFA 'xor_expr', state 0: Push ...
 DFA 'and_expr', state 0: Push ...
 DFA 'shift_expr', state 0: Push ...
 DFA 'arith_expr', state 0: Push ...
 DFA 'term', state 0: Push ...
 DFA 'factor', state 0: Push ...
 DFA 'power', state 0: Push ...
 DFA 'atom', state 0: Shift.
  DFA 'atom', state 5: Direct pop.
Token DOT/'.' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'path' ... It's a token we know
 DFA 'trailer', state 3: Shift.
  DFA 'trailer', state 5: Direct pop.
Token DOT/'.' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'insert' ... It's a token we know
 DFA 'trailer', state 3: Shift.
  DFA 'trailer', state 5: Direct pop.
Token LPAR/'(' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NUMBER/'0' ... It's a token we know
 DFA 'trailer', state 1: Push ...
 DFA 'arglist', state 0: Push ...
 DFA 'argument', state 0: Push ...
 DFA 'test', state 0: Push ...
 DFA 'or_test', state 0: Push ...
 DFA 'and_test', state 0: Push ...
 DFA 'not_test', state 0: Push ...
 DFA 'comparison', state 0: Push ...
 DFA 'expr', state 0: Push ...
 DFA 'xor_expr', state 0: Push ...
 DFA 'and_expr', state 0: Push ...
 DFA 'shift_expr', state 0: Push ...
 DFA 'arith_expr', state 0: Push ...
 DFA 'term', state 0: Push ...
 DFA 'factor', state 0: Push ...
 DFA 'power', state 0: Push ...
 DFA 'atom', state 0: Shift.
  DFA 'atom', state 5: Direct pop.
Token COMMA/',' ... It's a token we know
 DFA 'power', state 1: Pop ...
 DFA 'factor', state 2: Pop ...
 DFA 'term', state 1: Pop ...
 DFA 'arith_expr', state 1: Pop ...
 DFA 'shift_expr', state 1: Pop ...
 DFA 'and_expr', state 1: Pop ...
 DFA 'xor_expr', state 1: Pop ...
 DFA 'expr', state 1: Pop ...
 DFA 'comparison', state 1: Pop ...
 DFA 'not_test', state 2: Pop ...
 DFA 'and_test', state 1: Pop ...
 DFA 'or_test', state 1: Pop ...
 DFA 'test', state 1: Pop ...
 DFA 'argument', state 1: Pop ...
 DFA 'arglist', state 1: Shift.
Token NAME/'idlelib_dir' ... It's a token we kno
 DFA 'arglist', state 4: Push ...
 DFA 'argument', state 0: Push ...
 DFA 'test', state 0: Push ...
 DFA 'or_test', state 0: Push ...
 DFA 'and_test', state 0: Push ...
 DFA 'not_test', state 0: Push ...
 DFA 'comparison', state 0: Push ...
 DFA 'expr', state 0: Push ...
 DFA 'xor_expr', state 0: Push ...
 DFA 'and_expr', state 0: Push ...
 DFA 'shift_expr', state 0: Push ...
 DFA 'arith_expr', state 0: Push ...
 DFA 'term', state 0: Push ...
 DFA 'factor', state 0: Push ...
 DFA 'power', state 0: Push ...
 DFA 'atom', state 0: Shift.
  DFA 'atom', state 5: Direct pop.
Token RPAR/')' ... It's a token we know
 DFA 'power', state 1: Pop ...
 DFA 'factor', state 2: Pop ...
 DFA 'term', state 1: Pop ...
 DFA 'arith_expr', state 1: Pop ...
 DFA 'shift_expr', state 1: Pop ...
 DFA 'and_expr', state 1: Pop ...
 DFA 'xor_expr', state 1: Pop ...
 DFA 'expr', state 1: Pop ...
 DFA 'comparison', state 1: Pop ...
 DFA 'not_test', state 2: Pop ...
 DFA 'and_test', state 1: Pop ...
 DFA 'or_test', state 1: Pop ...
 DFA 'test', state 1: Pop ...
 DFA 'argument', state 1: Pop ...
 DFA 'arglist', state 1: Pop ...
 DFA 'trailer', state 4: Shift.
  DFA 'trailer', state 5: Direct pop.
Token NEWLINE/'' ... It's a token we know
 DFA 'power', state 1: Pop ...
 DFA 'factor', state 2: Pop ...
 DFA 'term', state 1: Pop ...
 DFA 'arith_expr', state 1: Pop ...
 DFA 'shift_expr', state 1: Pop ...
 DFA 'and_expr', state 1: Pop ...
 DFA 'xor_expr', state 1: Pop ...
 DFA 'expr', state 1: Pop ...
 DFA 'comparison', state 1: Pop ...
 DFA 'not_test', state 2: Pop ...
 DFA 'and_test', state 1: Pop ...
 DFA 'or_test', state 1: Pop ...
 DFA 'test', state 1: Pop ...
 DFA 'testlist', state 1: Pop ...
 DFA 'expr_stmt', state 1: Pop ...
 DFA 'small_stmt', state 1: Pop ...
 DFA 'simple_stmt', state 1: Shift.
  DFA 'simple_stmt', state 3: Direct pop.
  DFA 'stmt', state 1: Direct pop.
Token NAME/'import' ... It's a keyword
 DFA 'file_input', state 0: Push ...
 DFA 'stmt', state 0: Push ...
 DFA 'simple_stmt', state 0: Push ...
 DFA 'small_stmt', state 0: Push ...
 DFA 'import_stmt', state 0: Push ...
 DFA 'import_name', state 0: Shift.
Token NAME/'idlelib' ... It's a token we know
 DFA 'import_name', state 1: Push ...
 DFA 'dotted_as_names', state 0: Push ...
 DFA 'dotted_as_name', state 0: Push ...
 DFA 'dotted_name', state 0: Shift.
Token DOT/'.' ... It's a token we know
 DFA 'dotted_name', state 1: Shift.
Token NAME/'PyShell' ... It's a token we know
 DFA 'dotted_name', state 0: Shift.
Token NEWLINE/'' ... It's a token we know
 DFA 'dotted_name', state 1: Pop ...
 DFA 'dotted_as_name', state 1: Pop ...
 DFA 'dotted_as_names', state 1: Pop ...
 DFA 'import_name', state 2: Pop ...
 DFA 'import_stmt', state 1: Pop ...
 DFA 'small_stmt', state 1: Pop ...
 DFA 'simple_stmt', state 1: Shift.
  DFA 'simple_stmt', state 3: Direct pop.
  DFA 'stmt', state 1: Direct pop.
Token NAME/'idlelib' ... It's a token we know
 DFA 'file_input', state 0: Push ...
 DFA 'stmt', state 0: Push ...
 DFA 'simple_stmt', state 0: Push ...
 DFA 'small_stmt', state 0: Push ...
 DFA 'expr_stmt', state 0: Push ...
 DFA 'testlist', state 0: Push ...
 DFA 'test', state 0: Push ...
 DFA 'or_test', state 0: Push ...
 DFA 'and_test', state 0: Push ...
 DFA 'not_test', state 0: Push ...
 DFA 'comparison', state 0: Push ...
 DFA 'expr', state 0: Push ...
 DFA 'xor_expr', state 0: Push ...
 DFA 'and_expr', state 0: Push ...
 DFA 'shift_expr', state 0: Push ...
 DFA 'arith_expr', state 0: Push ...
 DFA 'term', state 0: Push ...
 DFA 'factor', state 0: Push ...
 DFA 'power', state 0: Push ...
 DFA 'atom', state 0: Shift.
  DFA 'atom', state 5: Direct pop.
Token DOT/'.' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'PyShell' ... It's a token we know
 DFA 'trailer', state 3: Shift.
  DFA 'trailer', state 5: Direct pop.
Token DOT/'.' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token NAME/'main' ... It's a token we know
 DFA 'trailer', state 3: Shift.
  DFA 'trailer', state 5: Direct pop.
Token LPAR/'(' ... It's a token we know
 DFA 'power', state 1: Push ...
 DFA 'trailer', state 0: Shift.
Token RPAR/')' ... It's a token we know
 DFA 'trailer', state 1: Shift.
  DFA 'trailer', state 5: Direct pop.
Token NEWLINE/'' ... It's a token we know
 DFA 'power', state 1: Pop ...
 DFA 'factor', state 2: Pop ...
 DFA 'term', state 1: Pop ...
 DFA 'arith_expr', state 1: Pop ...
 DFA 'shift_expr', state 1: Pop ...
 DFA 'and_expr', state 1: Pop ...
 DFA 'xor_expr', state 1: Pop ...
 DFA 'expr', state 1: Pop ...
 DFA 'comparison', state 1: Pop ...
 DFA 'not_test', state 2: Pop ...
 DFA 'and_test', state 1: Pop ...
 DFA 'or_test', state 1: Pop ...
 DFA 'test', state 1: Pop ...
 DFA 'testlist', state 1: Pop ...
 DFA 'expr_stmt', state 1: Pop ...
 DFA 'small_stmt', state 1: Pop ...
 DFA 'simple_stmt', state 1: Shift.
  DFA 'simple_stmt', state 3: Direct pop.
  DFA 'stmt', state 1: Direct pop.
Token NEWLINE/'' ... It's a token we know
 DFA 'file_input', state 0: Shift.
Token ENDMARKER/'' ... It's a token we know
 DFA 'file_input', state 0: Shift.
  DFA 'file_input', state 1: Direct pop.
  ACCEPT.
Run Code Online (Sandbox Code Playgroud)

并且能够追踪所有的呼叫

python27_d.dll!PyEval_EvalCodeEx
python27_d.dll!PyEval_EvalCode
python27_d.dll!run_mod
python27_d.dll!PyRun_FileExFlags
python27_d.dll!PyRun_SimpleFileExFlags
python27_d.dll!PyRun_AnyFileExFlags
python27_d.dll!Py_Main
Run Code Online (Sandbox Code Playgroud)

但后来被递归调用纠缠在一起PyEval_EvalCodeEx.

以前,我试图通过procmon比较pythonw.exe的工作发行版本和pythonw_d.exe的失败调试版本的输出,但努力并不富有成效.

有用的数据

  • 64位Windows 7
  • Python 2.7.6用VC9.0编译为32位App

需要帮助来诊断或调试问题的方向.

小智 0

尝试通过转到控制面板 > 系统和维护 > 高级系统设置 > 系统属性 > 环境变量 > 创建 C: 目录的路径,然后转到路径并添加分号,然后添加 python 安装的位置。然后调试。