s pontos de interrupção @pydev não estão funcionando

Estou trabalhando em um projeto usando python 2.7.2, sqlalchemy 0.7, unittest, eclipse 3.7.2 e pydev 2.4. Estou definindo pontos de interrupção em arquivos python (arquivos de teste de unidade), mas eles são completamente ignorados (antes, em algum momento, eles funcionavam). Até agora, atualizei todos os softwares relacionados (veja acima), iniciei novos projetos, brinquei com as configurações, hipnotizei minha tela, mas nada funciona.

A única idéia que recebi de algum post é que ele tem algo a ver com a alteração de alguns nomes de arquivos .py para minúscula

Alguém tem alguma idéia

added:té instalei a versão aptana do eclipse e copiei o.py arquivos para ele => mesmo resultado; pontos de interrupção ainda são ignorados.

ainda não há progresso:lterei um código que pode ser visto como incomum e substituí-o por uma solução mais diret

mais algumas informações: provavelmente tem algo a ver com o módulo mais unittest:

breakpoints nos meus arquivos que definem as suítes de teste funcionam, breakpoints nos arquivos mais unittest padrão funcionam elesbreakpoints nos meus métodos de teste em classes derivadas de unittest.TestCase não funcionam breakpoints no meu código que está sendo testado nos casos de teste não funcionam em algum momento antes que eu pudesse definir pontos de interrupção de trabalho nos métodos de teste ou no código que está sendo testado algumas coisas que mudei depois disso: comecei a usar suítes de teste, alterei alguns nomes de arquivos para minúsculas, ...sse problema também ocorre se meu código funcionar sem exceções ou falhas de test

o que eu já tentei é:

retirar.pyc arquivodefine novo projeto e copie somente.py arquivos para elerebooted várias vezes entreupgraded to eclipse 3.7.2install pydev mais recente no eclipse 3.7.2 mude para o aptana (e para trás)ódigo @removed que adicionou manualmente 'classes' ao meu módulo brincou com algumas configurações

o que eu ainda posso fazer é:

inicie um novo projeto com o meu código, comece a remover / alterar o código até que os pontos de interrupção funcionem e classifique a caixa preta para descobrir se isso tem algo a ver com alguma parte do meu código Alguém tem alguma idéia do que pode causar esses problemas ou como eles podem ser resolvido Existe algum outro lugar onde eu possa procurar uma soluçãs desenvolvedores do pydev analisam as perguntas sobre o stackoverflo Existe uma versão mais antiga do pydev que eu poderia tenta

Estive trabalhando com pydev / eclipse por um longo tempo e funciona bem para mim, mas sem a depuração, fui forçado a mudar de ID

Em resposta às perguntas de Fabio abaixo:

A versão python é 2.7, .2, O sys.gettrace não fornece None (mas não tenho idéia do que no meu código poderia influenciar isso)Esta é a saída do depurador depois de alterar os parâmetros sugeridos:

pydev debugger:

starting
('Executing file ', 'D:\\.eclipse\\org.eclipse.platform_3.7.0_248562372\\plugins\\org.python.pydev.debug_2.4.0.2012020116\\pysrc\\runfiles.py')
('arguments:', "['D:\\\\.eclipse\\\\org.eclipse.platform_3.7.0_248562372\\\\plugins\\\\org.python.pydev.debug_2.4.0.2012020116\\\\pysrc\\\\runfiles.py', 'D:\\\\Documents\\\\Code\\\\Eclipse\\\\workspace\\\\sqladata\\\\src\\\\unit_test.py', '--port', '49856', '--verbosity', '0']")
('Connecting to ', '127.0.0.1', ':', '49857')
('Connected.',)
('received command ', '501\t1\t1.1')
sending cmd: CMD_VERSION 501    1   1.1

sending cmd: CMD_THREAD_CREATE 103  2   <xml><thread name="pydevd.reader" id="-1"/></xml>

sending cmd: CMD_THREAD_CREATE 103  4   <xml><thread name="pydevd.writer" id="-1"/></xml>

('received command ', '111\t3\tD:\\Documents\\Code\\Eclipse\\workspace\\sqladata\\src\\testData.py\t85\t**FUNC**testAdjacency\tNone')
Added breakpoint:d:\documents\code\eclipse\workspace\sqladata\src\testdata.py - line:85 - func_name:testAdjacency
('received command ', '122\t5\t;;')
Exceptions to hook : []
('received command ', '124\t7\t')
('received command ', '101\t9\t')
Finding files... done.
Importing test modules ... testAtomic (testTypes.TypeTest) ... ok
testCyclic (testTypes.TypeTest) ... 

O restante é produzido no teste de unidad

Continuando da resposta de Fabio, parte 2:

Adicionei o código no início do programa e o depurador para de funcionar na última linha de seguir o método em sqlalchemy \ orm \ attribute.py (é um descritor, mas como ou com que interfere na depuração está além) meu conhecimento atual):

class InstrumentedAttribute (QueryableAttribute): "" "Atributo instrumentado vinculado à classe que adiciona métodos de descrição." ""

def __set__(self, instance, value):
    self.impl.set(instance_state(instance), 
                    instance_dict(instance), value, None)

def __delete__(self, instance):
    self.impl.delete(instance_state(instance), instance_dict(instance))

def __get__(self, instance, owner):
    if instance is None:
        return self

    dict_ = instance_dict(instance)
    if self._supports_population and self.key in dict_:
        return dict_[self.key]
    else:
        return self.impl.get(instance_state(instance),dict_) #<= last line of debugging

A partir daí, o depurador entra no__getattr__ método de uma de minhas próprias classes, derivado de uma classe declarative_base () de sqlalchem

Provavelmente resolvido (embora não entendido):

O problema parecia ser que o__getattr__ mencionado acima, criou algo semelhante à recursão infinita, no entanto, o programa / unittest / sqlalchemy se recuperou sem relatar nenhum erro. Eu não entendo o código sqlalchemy o suficiente para entender por que o__getattr__ método @ foi chamado.
Eu mudei o__getattr__ método para chamar super para o nome do atributo para o qual ocorreu a recursão (provavelmente não é a minha solução final) e o problema do ponto de interrupção parece ter desaparecido. Se eu puder formular o problema de maneira concisa, provavelmente tentarei obter mais informações no grupo de notícias sqlalchemy do google ou, pelo menos, verificar minha solução quanto à robuste

Obrigado Fabio pelo apoio, a função trace_func () identificou o problema para mim.

questionAnswers(10)

yourAnswerToTheQuestion