Ваша проблема в использовании eval
. Если он не может проанализировать строку как переменную, он должен завершиться ошибкой, но в вашем случае у вас уже есть t
, плавающая в пространстве имен. t
сохраняет свою старую идентичность, скажем, int, но затем вы пытаетесь добавить a
(строку) к числу.
Этот код должен работать:
sum,sum_i,c=0,0,0
sum_f=0.0
print("Enter q/Q to stop entering numbers.")
while True:
a=input("Enter number: ")
try:
t = int(a)
sum_i=sum_i+int(a)
c=c+1
print(type(t))
continue
except ValueError:
pass
try:
t = float(a)
sum_f=sum_f+int(a)
c=c+1
print(type(t))
continue
except ValueError:
pass
try:
if (a=='q'or a=='Q'):
break
else:
print("Invalid data entered. Please enter a number to add or q/Q to quit. ")
continue
except ValueError:
pass
sum= sum_i+ sum_f
print("You have entered ",c," numbers and their sum is: ",sum)
Вкладка профилировщика только доступна для локальной JVM.
Я не уверен, почему вкладка потока не отображена. Это делает для меня.
Я считал, что Netbeans имеет удаленную профильную поддержку. Но я лично никогда не использовал его.
У меня была такая же проблема, когда я пытался отслеживать Jboss 4.0.2, поскольку у этой версии есть собственный сервер mbean, это ваш случай? В любом случае, убедитесь, что вы используете jdk 1.6.0u7 или более позднюю версию, иначе вам придется отключить совместное использование классов, чтобы visualvm работал (-Xshare: off)
Я надеюсь, что это поможет, может быть, вы можете дать более подробную информацию о характер приложения, которое вы пытаетесь профилировать / JVM, которое вы используете