التصحيح مع غب لا يمكن البحث عن رموز البرنامج د
-
21-12-2019 - |
سؤال
لقد بنيت بنجاح وتثبيت إيان بوكلو (إيبوكلو) فرع غب على جيثب على بلدي أوبونتو 13.10 س 86_64 مع المجمع الافتراضي دول مجلس التعاون الخليجي 4.8.1.
اضطررت إلى إزالة الملف ld
من ال bin
الدليل الفرعي خلاف ذلك
دمد يشكو من شيء سيسروت في مرحلة الارتباط.
عندما ثم تجميع برنامج الاختبار الخاص بي وتشغيله من خلال غب لدي مشاكل.
أستطيع أن أفعل break main
, ، تشغيل و غب يتوقف في بداية main
ولكن عندما أفعل next
أحصل على الإخراج غير المرغوب فيه التالي
Single stepping until exit from function main,
which has no line number information.
0x00007ffff760ede5 in __libc_start_main () from
/lib/x86_64-linux-gnu/libc.so.6
أليس من المفترض أن يعمل جي بي إيبوكلاو هنا?
تم تجميع برنامج الاختبار الخاص بي على النحو التالي
dmd -debug -g -gs -wi t_array.d -oft_array
دون أي تحذيرات ولا أخطاء.لقد حاولت أيضا أن أدعي أن يكون ج
dmd -debug -g -gc -gs -wi t_array.d -oft_array
مع نفس النتيجة.
كذلك عندما أفعل b
تليها علامة التبويب ، ومعظم الرموز في
قائمة الإنجاز ليست مختلطة.
يبدو برنامج الاختبار الخاص بي مثل
import std.stdio, std.algorithm;
void main(string args[]) {
int[] x;
writeln(x.sizeof);
if (x) {
writeln("Here!");
} else {
writeln("There!");
}
int xx[2];
auto xc = xx;
xc[0] = 1;
writeln(xx);
writeln(xc);
int[2] xx_;
auto hit = x.find(1);
if (hit) {
writeln("Hit: ", hit);
} else {
writeln("No hit");
}
int[2] z; // arrays are zero initialized
writeln(z);
assert([].ptr == null);
assert("ab"[$..$] == []);
auto p = "ab"[$..$].ptr;
writeln(p);
assert(p != null);
}
المحلول
يعمل بشكل جيد بالنسبة لي مع مونوديفيلوب و غب المصحح (وليس مع غب المصحح ل د) ، يجب عليك استخدام الأمر ابدأ بدلا من كسر الرئيسي.مزيد من التفاصيل في لك دلانغز منتدى الموضوع:http://forum.dlang.org/thread/avbpulzptddlekkczwse@forum.dlang.org