フィールドの神秘的な兆候-手がかり

そのため、以前に公開されたタスクに対する正解の時間です。 参加してくれたみんなに感謝します。 ここに投稿された最初のコメントはこのリンクです。 私は認める、私はそれがすぐに表示されないと陰謀の少しの拡張を許可すると信じていた。 しかし、HabrはHabrであり、すべてのトリッキーなナットには、ここに左ねじが付いたボルトがあります-それでいいので、私たちはそれを愛しています。



ただし、コンテストは単純なものではなく、MSDNへのリンクだけで勝つことができました-記号1、2、3、7、8のみが説明されています。そして、タスク自体がありました。 残念ながら、多くの人が最初のコメントを正しい答えだと考え、それ以上の参加を拒否しました。 しかし、無駄に。 猫をお願いします。



アイコン1、2、3、7、および8が実際にすべてを正しく説明しているので、最もトリッキーなもの、行4、5、および6に進みましょう。これらの場合の画像はブレークポイントとトレースポイントの組み合わせであると多くの人が推測しました。同じ行に設定します。 この時点で、ギャラリーから質問が提起されました。「両方のタイプのポイントを1つの行に配置するには、ラインのコンテキストメニューでポイントのいずれかを設定すると、2番目のタイプのポイントを設定するポイントが消えますか?」これを行う唯一の方法は、ブレークポイントとトレースポイントを行を選択し、それらのいずれかに対してコンテキストメニューを開き、「場所」項目を選択し、開いたダイアログの2番目のポイントの行を手動で選択します。 これにより、行4、5、6のように、このようなアイコンが表示されます。







しかし、待って! 5行目と6行目など、記号の外観が異なるのはなぜですか? そして、なぜ課題では、記号4と6も異なっており、異なることを意味すると言われました。 そして、MSDNでGoogleを検索したり減算したりすることは不可能であるという結論に達しました。 Visual Studioには2つのバグしかありません。そのうちの1つはプログラマーによって許可され、2つ目はデザイナーによって許可されています。 私が知っているVisual Studioのすべてのバージョンに存在するもの(2005 \ 2008 \ 2010)。



プログラマーのバグ


5行目と6行目はまったく同じものです。 それぞれに、1つの単純なアクティブブレークポイントと1つの単純なアクティブブレークポイントがあります。 両方の行のブレークポイントとトレースポイントは、同じ方法で同じ順序で追加されました(F9で最初のブレークポイント、次に次の行でトレースポイント、次にトレースポイントを1行後ろに移動)。 それでも、Visual Studioは1つの場合には菱形の上に円を描き、2番目の場合には反対に、ポイントの順序、優先順位、または操作の順序の重要性について人々に無理な仮定をさせます。 そして、これはアイコンを描画するアルゴリズムのバグです。



設計バグ


そして、私たちは主な陰謀に来ました-行4と6のアイコンの違いは何ですか? 行6(ブレークポイント+トレースポイント)の内容はすでにわかっています。 しかし、4行目にはまったく同じことがありますが、違いは1つだけです。トレースポイントは無効な状態です。 上にある場合は、塗りつぶされていない菱形がはっきりと見えますが、感染は下にあるため、オフ状態で視覚的に表示できる唯一のものは、円の境界をわずかに突き出ている菱形の頂点の色と形状です。 それらが本当に異なるという事実は、Visual Studioでは顕著です。トレースポイントのオン/オフフラグをクリックしてアイコンを注意深く見ると、ほとんどすべての人の目が色の変化の瞬間に気づきますが、静的な状態でアイコンを見ている人は9人ですそれらが同じであること。







私はこの狂気が意図的に行われたとは決して信じません。おそらくこのバグと以前のバグは、「ブレークポイント+トレースポイント」状況を特別に設計、作成、またはテストした人がいないという事実に起因する可能性が高いです。 それはどういうわけか偶然に機能しますが、すべてを思い起こさせるために誰も手を取りません—より緊急のタスクがあります。



敬礼、シャンパン、勝者の発表



多くの人が8つのうち6〜7つの正しい答えを出しました。 これらは非常に良い結果です。 ただし、 Yanzayというニックネームを持つ人からのTwitterでのこの回答 は、勝者として認識されます。 彼は、上記の詳細を明確に強調した最初の人物でした。4行目の無効化されたトレースポイント+アクティブなブレークポイント、5行目と6行目のブレークポイントとトレースの実際の識別(通常、アクティブ)。 ここでTwitterの制限が彼の手にかかった-場所を書くのに十分ではなかった(それがいくつかを妨げた)、そして正しい答えが与えられた。 おめでとうございます! 日中は、招待状のプレゼンテーションについて勝者にツイッターで書き込みます。



UPD Inviteが送信されました。



All Articles