نمیدانم
خب در نهایت بعد کلی گردش بین کلی ابزار و تنظیمات مختلف به gf2 : https://github.com/nakst/gf رسیدیم و راضی شدیم حالا شاید براتون سوال باشه که خب چرا اینهمه دارم میگردم دنبال دیباگر و خب دیباگر vscode یا zeditor هم هستشون و نیاز نیست و این حرفا ولی خب ۲ تا…
چیزی که میخوام دیباگ کنم یه هلوورد ساده نیست که بتونیم با next و step دیباگش کنیم
تخمینی که دارم اینه که حدود ۵۰ میلیون دستور داره اجرا میشه و میخوام تحلیل کنم که این سامانه چرا داره به قهقرا میره و اخرش میترکه
در این وضعیت حتی اگه breakpoint هم بذاری و در هر مرحله بپری به بریکپوینت بعدی هم پاسخگو نیست و یا اینطوریه که کلا یه بار به اون میخوری یا ۱۰۰۰۰ بار به توقفگاه میخوری و خب متوجه نمیشی داری چه اتفاقی میوفته یا اینکه بینهایت طول میکشه و خسته میشی و باز هم به هدفت نمیرسی
تخمینی که دارم اینه که حدود ۵۰ میلیون دستور داره اجرا میشه و میخوام تحلیل کنم که این سامانه چرا داره به قهقرا میره و اخرش میترکه
در این وضعیت حتی اگه breakpoint هم بذاری و در هر مرحله بپری به بریکپوینت بعدی هم پاسخگو نیست و یا اینطوریه که کلا یه بار به اون میخوری یا ۱۰۰۰۰ بار به توقفگاه میخوری و خب متوجه نمیشی داری چه اتفاقی میوفته یا اینکه بینهایت طول میکشه و خسته میشی و باز هم به هدفت نمیرسی
نمیدانم
چیزی که میخوام دیباگ کنم یه هلوورد ساده نیست که بتونیم با next و step دیباگش کنیم تخمینی که دارم اینه که حدود ۵۰ میلیون دستور داره اجرا میشه و میخوام تحلیل کنم که این سامانه چرا داره به قهقرا میره و اخرش میترکه در این وضعیت حتی اگه breakpoint هم بذاری و در…
اینجاست که یه ایده به سرم زد که یه سری توقفگاه داشته باشیم که اینا یه سری پرچم داشته باشن که با روشن خاموش شدن این پرچم ها بقیه توقفگاه هارو فعال و غیر فعال کنن
نمیدانم
اینجاست که یه ایده به سرم زد که یه سری توقفگاه داشته باشیم که اینا یه سری پرچم داشته باشن که با روشن خاموش شدن این پرچم ها بقیه توقفگاه هارو فعال و غیر فعال کنن
حالا سوالی که شاید داشته باشید اینه که چطوری میشه اینکارو کرد؟
و خب جوابش اینه که کل هرچیزی که gdb میتونه انجام بده روی یه درگاه pythonی قرار داره و از اونجا میتونی عملا هرکاری بکنی و حتی این توقفگاه های ویژه رو هم داشته باشی
و خب جوابش اینه که کل هرچیزی که gdb میتونه انجام بده روی یه درگاه pythonی قرار داره و از اونجا میتونی عملا هرکاری بکنی و حتی این توقفگاه های ویژه رو هم داشته باشی
نمیدانم
حالا سوالی که شاید داشته باشید اینه که چطوری میشه اینکارو کرد؟ و خب جوابش اینه که کل هرچیزی که gdb میتونه انجام بده روی یه درگاه pythonی قرار داره و از اونجا میتونی عملا هرکاری بکنی و حتی این توقفگاه های ویژه رو هم داشته باشی
ولی مشکلی که وجود داشت این بود که zed خیلی خوشحال نبود که من یه توقفگاه شخصی سازی شده درست کنم و استفاده کنم
همچنان روی کد حرکت میکرد و متوقف میشد و اینا ولی مشکلی که بود این بود که کلا console و ترمینال وجود خارجی نداشت
و خب اینطور شد که چیزای مختلفی رو نگاه کردم
همچنان روی کد حرکت میکرد و متوقف میشد و اینا ولی مشکلی که بود این بود که کلا console و ترمینال وجود خارجی نداشت
و خب اینطور شد که چیزای مختلفی رو نگاه کردم
نمیدانم
ولی مشکلی که وجود داشت این بود که zed خیلی خوشحال نبود که من یه توقفگاه شخصی سازی شده درست کنم و استفاده کنم همچنان روی کد حرکت میکرد و متوقف میشد و اینا ولی مشکلی که بود این بود که کلا console و ترمینال وجود خارجی نداشت و خب اینطور شد که چیزای مختلفی رو نگاه…
در نهایت gf2 و gdb-frontend گزینه های مطلوبی بودن که همه کاری که میخواستم رو میکردن ولی gf2 با c گسترش پیدا میکنه و سبکتره ولی gdb-frontend با python و js گسترش پیدا میکنه و روی یه chromium سوار میشه (الکترونی نیست) و سنگین تره
پس درنهایت ماجرا gf2 رو انتخاب کردم برای این منظور
یه نکته دیگه هم که وجود داره اینه که ide ها برای اینکه دارن خیلی کار های مختلفی رو پوشش میدن مجبود میشن توی تخصیص کلید های میانبر یه سری مصالحه انجام بدن و خب معمولا کلیدای میانبر دیباگرا جاهای ناجوریه
ولی وقتی یه دیباگر اختصاصی داری دیگه این مشکل رو نداری + میتونی ابزارای خوبی هم برای نمایش داده برای خودت بسازی
پس درنهایت ماجرا gf2 رو انتخاب کردم برای این منظور
یه نکته دیگه هم که وجود داره اینه که ide ها برای اینکه دارن خیلی کار های مختلفی رو پوشش میدن مجبود میشن توی تخصیص کلید های میانبر یه سری مصالحه انجام بدن و خب معمولا کلیدای میانبر دیباگرا جاهای ناجوریه
ولی وقتی یه دیباگر اختصاصی داری دیگه این مشکل رو نداری + میتونی ابزارای خوبی هم برای نمایش داده برای خودت بسازی
نمیدانم
در نهایت gf2 و gdb-frontend گزینه های مطلوبی بودن که همه کاری که میخواستم رو میکردن ولی gf2 با c گسترش پیدا میکنه و سبکتره ولی gdb-frontend با python و js گسترش پیدا میکنه و روی یه chromium سوار میشه (الکترونی نیست) و سنگین تره پس درنهایت ماجرا gf2 رو انتخاب…
البته یه چیز دیگه هم بین gf2 و gdb-frontend نظر من رو قاطع کرد
و اونهم پشتیبانی از rr بود
و اونهم پشتیبانی از rr بود
نمیدانم
البته یه چیز دیگه هم بین gf2 و gdb-frontend نظر من رو قاطع کرد و اونهم پشتیبانی از rr بود
اگه نمیدونید rr چیه
خلاصه توضیح کاری که میکنه اینه که :
میاد برنامه رو ضبط میکنه و بعدا بهتون امکان میده که برنامه رو به هر شکلی بازپخش کنید
مثلا میتونید وقتی به یه توقفگاه خوردید برید دستور قبلی یا حتی برید به توقفگاه قبلی و یه جورایی قابلیت سفر در زمان بهتون میده
خلاصه توضیح کاری که میکنه اینه که :
میاد برنامه رو ضبط میکنه و بعدا بهتون امکان میده که برنامه رو به هر شکلی بازپخش کنید
مثلا میتونید وقتی به یه توقفگاه خوردید برید دستور قبلی یا حتی برید به توقفگاه قبلی و یه جورایی قابلیت سفر در زمان بهتون میده
یعنی آقای godbolt اومده هر روز مارو متحیر تر از روز قبل بکنه
به نظر میاد که
compiler explorer
خط لوله بهینه سازی هایی که llvm انجام میده رو میتونه بهتون نشون بده 🤯
https://www.youtube.com/watch?v=Hu0vu1tpZnc&pp=ygUEQU9DTw%3D%3D
به نظر میاد که
compiler explorer
خط لوله بهینه سازی هایی که llvm انجام میده رو میتونه بهتون نشون بده 🤯
https://www.youtube.com/watch?v=Hu0vu1tpZnc&pp=ygUEQU9DTw%3D%3D
نمیدانم
اشتباه شد ویرگول منظورم بود
بعد این ویراستی چقد حریصانه قیمت گذاری شده اصن خیلی شاهکاره
نمیدانم
خییییلی جذاب
واقعا گزینه های بهینه سازی gcc خیلی زیادن
شاید جذاب باشه بعدا هم یه نگاهی بهشون بندازم
شاید جذاب باشه بعدا هم یه نگاهی بهشون بندازم
https://www.youtube.com/watch?v=B6CUwcHJpQ0
این داداشمون هم که داره zig-clr رو توسعه میده. zig-clr یه ابزار تحلیل ایستا (static-analysis) برای زبان zig هست که هدفشه چیزایی مثل استفاده از متغیرای تعریف نشده، امنیت حافظه و مسیرهای غیر قابل دسترس رو تحلیل کنه و اشتباهای برنامه نویس رو بگیره یا حتی میتونه به عنوان زیرساخت اثبات درستی کدای به زبون زیگ استفاده بشه.
این داداشمون هم که داره zig-clr رو توسعه میده. zig-clr یه ابزار تحلیل ایستا (static-analysis) برای زبان zig هست که هدفشه چیزایی مثل استفاده از متغیرای تعریف نشده، امنیت حافظه و مسیرهای غیر قابل دسترس رو تحلیل کنه و اشتباهای برنامه نویس رو بگیره یا حتی میتونه به عنوان زیرساخت اثبات درستی کدای به زبون زیگ استفاده بشه.
YouTube
Zig CLR Update 3
Basic Undefined Value Checking has been completed in Zig-CLR.
Next up: stack pointer checking.
github: https://github.com/ityonemo/clr
sponsorship: buymeacoffee.com/dnautics
Next up: stack pointer checking.
github: https://github.com/ityonemo/clr
sponsorship: buymeacoffee.com/dnautics
https://www.youtube.com/watch?v=G0ptIEX0y5c
۱ ساعت مطلب
کلا ۱ قابلیت جدید جالب (بقیش ai slop)
اونم اینطوریه که بهتون قابلیت دیباگ مشتی برای کامپایل های Release میده
اینطوریه که میاد جاهایی که وقفه (Breakpoint) میذاری رو میاد از حالت بهینه تبدیل میکنه به حالت غیر بهینه و حالا وقتی به اون وقفه میخوری همه متغیرای محلی اون تابع خاص رو خواهی داشت
۱ ساعت مطلب
کلا ۱ قابلیت جدید جالب (بقیش ai slop)
اونم اینطوریه که بهتون قابلیت دیباگ مشتی برای کامپایل های Release میده
اینطوریه که میاد جاهایی که وقفه (Breakpoint) میذاری رو میاد از حالت بهینه تبدیل میکنه به حالت غیر بهینه و حالا وقتی به اون وقفه میخوری همه متغیرای محلی اون تابع خاص رو خواهی داشت
YouTube
What’s New in Visual Studio for C++ Developers in 2025 - Augustin Popa & David Li - CppCon 2025
https://cppcon.org
---
What’s New in Visual Studio for C++ Developers in 2025 - Augustin Popa & David Li - CppCon 2025
---
Another year of CppCon, another year of Visual Studio improvements to make your development life better. We’ll show our advancements…
---
What’s New in Visual Studio for C++ Developers in 2025 - Augustin Popa & David Li - CppCon 2025
---
Another year of CppCon, another year of Visual Studio improvements to make your development life better. We’ll show our advancements…
⚡1
درسته اپل پول خونشو میگیره ولی به کیفیت چیزاش اهمیت میده
همینطور اپل در ۲۰ سال اخیر :
https://www.youtube.com/watch?v=Z0DF-MOkotA
همینطور اپل در ۲۰ سال اخیر :
https://www.youtube.com/watch?v=Z0DF-MOkotA
YouTube
Uncovering Every Lie in MKBHD's Softball Interview; a scathing critique of 'brand safe' influencers
Propaganda interview: https://youtu.be/8reaJG7z-is?t=475
Propaganda document: https://support.apple.com/content/dam/edam/applecare/images/en_US/otherassets/programs/Longevity_by_Design.pdf
Rebuttal: https://docs.google.com/document/d/1xX3HpH16wnB5U_sfkN2…
Propaganda document: https://support.apple.com/content/dam/edam/applecare/images/en_US/otherassets/programs/Longevity_by_Design.pdf
Rebuttal: https://docs.google.com/document/d/1xX3HpH16wnB5U_sfkN2…
👍3❤1