PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » OffTop » не придумали ли какой внешний инструмент по поиску ошибок в коде? :)


не придумали ли какой внешний инструмент по поиску ошибок в коде? :)

Сообщений 1 страница 9 из 9

1

до вчерашнего дня все было прекрасно. но тут доделал очередной функционал и прикрутил к основному проекту и началось... как можно кодом испортить работу шрифта и DrawText? вкуда это я так умудрился что-то вписывать, что оно убивает эти самые шрифты? как найти это место? не придумал ли кто какуюнить такую софтину, которая бы за меня нашла где я напортачил? :)))

такая дизмораль из-за этого... я уже и повторил все новые функции с пустышками, вместо этого нового функционала. такая-же фигня. пурифаер не запускается. висит по полчаса и ничего не происходит. уже из видео с автором этой библиотеки поговорил - он говорит никак не должна библиотека на это влиять. вобщем я в расстройстве. так хотел уже закончить... и такой облом.

0

2

SeregaZ написал(а):

как можно кодом испортить работу шрифта и DrawText?

В первую очередь когда текст не отрисовывается нужно под отладчиком посмотреть как выполняется код при установке и снятии галочки. То есть по шагам выполнить программу и убедится что она выполняется так как должна.
Также нужно убедится что шрифт не был освобожден.

SeregaZ написал(а):

пурифаер не запускается. висит по полчаса и ничего не происходит.

Добавьте в начало кода эту строку

Код:
PurifierGranularity(10, 10, 30, 2)

0

3

подсказали - опять я на те-же грабли наступил. импортировал библиотеку и она пела. я и выкинул это из головы. там использовал Prototype - тут подсказали попробывать PrototypeC. и шрифт перестал сыпаться. помница как раз вы Петр мне и говорили про подобное сто лет назад :) а я все по граблям хожу...

0

4

Обычно если перепутать Prototype и PrototypeC программа завершается с ошибкой, из-за проблем со стеком.
Нужно читать документацию на библиотеку. Там должно быть написано о соглашении вызова.

0

5

даааа я не особо понимаю в технических документах. все работало и без PrototypeC. да, бывало очень редкий вылет когда тыркаешь эту музыку, сиречь чтение из папки целого вороха файлов, сбор из них в специальном формате образов в памяти и отправка в библиотеку. я думал проблема в аллокейшн мемори - потому как каждый раз при каждом клике делал FreeMemory, и создавая новую. потом переделал на заведомо выделенные большие куски и писал уже в них, не освобождая. статичная так сказать память была. и отправлял их - думал тем самым вылеты прекратятся, но нет. так-же очень редко вылетало. и только когда уже со шрифтами это вылезло - начал разбираться и на моменте вызова функции с параметром - буржуйского товарища осенило и он посоветовал PrototypeC. после этого шрифты перестали вылетать :) с музыкой еще не ясно. оно и до этого редко вылетало - сейчас пока сколько не кликал - пока еще не вылетало. но посмотрим как пойдет по отзывам после релиза. там уже кликать будут в массовом порядке и напишут если все-так и продолжит вылетать.

по самой библиотеке - её товарищ переделывал. с одного языка на свой С++ чтоль. я только из далека свои хотелки ему говорил :) он думал я толковый и разбираюсь как импортировать... а тут так вышло. ну ладно уж :) зато разобрались.

0

6

SeregaZ написал(а):

он думал я толковый и разбираюсь как импортировать

Он должен был написать какое соглашение вызова функций https://ru.wikipedia.org/wiki/Соглашение_о_вызове
Он это сделал?

0

7

честно говоря не знаю. с чтением и пониманием технической документации у меня полный швах :)

сама библиотека:
https://github.com/infval/GEMSPlay

наверное что-то там есть...

0

8

Там документации нет. Остается только догадываться или изучать исходники чтобы понять что к чему.

0

9

ну ничего страшного. главное все заработало и проблему решили. я доволен :) надеюсь больше таких редких вылетов основной программы не будет. вышел просто шедеееевр :)

0


Вы здесь » PureBasic - форум » OffTop » не придумали ли какой внешний инструмент по поиску ошибок в коде? :)