小编Pra*_*ari的帖子

WinDbg如何了解源代码?

我使C ++应用程序与WinDbg一起使用,并有意添加访问冲突运行时错误。

应用程序被编译为发布版本,然后将exe从发布文件夹复制到桌面。仍然当我使用WinDbg时,应用程序崩溃了,它打开了我的源代码文件,并显示了突出显示的错误行。

我无法理解,WinDbg如何理解我的源代码文件路径。

另外,当我从客户端进行故障转储时,可能是没有可用的源代码。所以我想模拟现实世界的场景。

问候

c++ debugging windbg crash-dumps visual-studio-2010

4
推荐指数
1
解决办法
2243
查看次数

将值设置为属性时的NullReferenceException

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication3
{
    class Cls : INotifyPropertyChanged
    {
        private string my;
        public  string MyProperty
        {
            get
            {
                return my;
            }
            set
            {
                my = value;
                PropertyChanged(this, new PropertyChangedEventArgs("MyProperty")); 
            }

        }

        public Cls()
        {
            MyProperty = "Hello";
        }

        public void print()
        {
            Console.WriteLine(MyProperty);
        }

        protected virtual void OnPropertyChanged(string name)
        {
        }

        public event PropertyChangedEventHandler PropertyChanged;

    }

    class Program
    {
        static void Main(string[] args)
        {
            Cls s = new Cls(); …
Run Code Online (Sandbox Code Playgroud)

.net c# exception inotifypropertychanged

4
推荐指数
2
解决办法
3915
查看次数

C++和Objective C中的多态性

我是Objective C的新手,我想protocol更清楚地理解概念.

@protocol protocolName

@optional

@required

@end
Run Code Online (Sandbox Code Playgroud)

我可以将@optional部分与虚函数@required部分与C++的纯虚函数相关联吗?

@protocolObjective-C创建接口抽象类的方式吗?

c++ polymorphism objective-c

4
推荐指数
2
解决办法
919
查看次数

如何在dll注入中调用特定函数?

以下代码将注入dll并将调用DllMain.我如何从DLL中调用特定函数,而不仅仅是DllMain?

    DWORD pid;
    HANDLE hd;
    LPVOID gp, rs, proc;

    gp = (LPVOID)GetProcAddress(GetModuleHandle(L"Kernel32.dll"), "LoadLibraryA");
    pid = 6096;

    hd = OpenProcess(PROCESS_ALL_ACCESS, 0, pid);    


    rs = (LPVOID)VirtualAllocEx(hd, 0, sizeof(DLL_NAME), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);

    if (!WriteProcessMemory(hd, (LPVOID)rs, DLL_NAME, strlen(DLL_NAME), 0))
    {
        printf("WriteProcessMemory %d", GetLastError());
    }

    if (!CreateRemoteThread(hd, 0, 0, (LPTHREAD_START_ROUTINE)gp, rs, 0, 0))
    {
        printf("CreateRemoteThread %d", GetLastError());
    }
Run Code Online (Sandbox Code Playgroud)

windows dll winapi code-injection dll-injection

4
推荐指数
1
解决办法
1004
查看次数

为什么用shared_ptr创建弱指针?

我写了以下简单的代码,

#include <iostream>
#include <memory>

struct Foo
{
    Foo()      { std::cout << "Foo::Foo\n";  }
    ~Foo()     { std::cout << "Foo::~Foo\n"; }
    void bar() { std::cout << "Foo::bar\n";  }
};

int main()
{
    std::shared_ptr<Foo> p1(new Foo);//this line

    p1->bar();

    std::shared_ptr<Foo> p2(p1);
}
Run Code Online (Sandbox Code Playgroud)

在观察窗口,我得到了,

p2  std::__1::shared_ptr<Foo>   ptr = 0x100104350 strong=2 weak=1   
p1  std::__1::shared_ptr<Foo>   ptr = 0x100104350 strong=2 weak=1   
Run Code Online (Sandbox Code Playgroud)

现在,我可以理解strong = 2,但为什么弱= 1?

其次,在代码中我将代码更改为,

std::shared_ptr<Foo> p1(std::move(new Foo));
Run Code Online (Sandbox Code Playgroud)

因为,可能是一个弱指针是因为无名对象.所以我在创建p1的同时移动了它,我仍然在观察窗口中获得相同的输出.

请告知我缺少哪一点?

c++ pointers move shared-ptr c++11

4
推荐指数
1
解决办法
1217
查看次数

Why Tokenizer is keeping track of more words than num_words?

I have following code

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.preprocessing.text import Tokenizer

sentences = [
             'I love my dog',
             'I love my cat',
             'You love my dog',
]

tokenizer = Tokenizer(num_words=3)
tokenizer.fit_on_texts(sentences)
word_index = tokenizer.word_index

print(word_index)
Run Code Online (Sandbox Code Playgroud)

Output: {'love': 1, 'my': 2, 'i': 3, 'dog': 4, 'cat': 5, 'you': 6}

Now how my code is keeping track of more than 3 unique frequent words?

Am I missing anything here?

python keras tensorflow

4
推荐指数
1
解决办法
529
查看次数

如何在两个端口之间捕获localhost中的数据包

我有两个应用程序使用套接字在同一台机器(localhost)上进行通信.如果应用程序在不同的机器上,我可以使用Wireshark.但是如何在同一台机器上捕获数据包.

我不知道哪个端口号应用程序正在通信.因为我正在使用库调用而不知道较低级别的详细信息.

我们正在Ubuntu和Windows XP上使用我们的应用程序.

sockets network-programming wireshark inter-process-communicat

3
推荐指数
1
解决办法
6935
查看次数

为什么Wireshark显示过滤器不显示http包?

当我使用HTTP显示过滤器时,它只显示HTTP消息,当HTTP消息在标准端口上,即在端口80上.但是,当消息不使用标准端口时,显示过滤器不适用于HTTP,我需要过滤TCP然后需要手动查找HTTP数据包.

我想知道为什么会这样?是标准行为还是我错误地做(或期待)它.

谢谢.

networking tcp http wireshark packet-sniffers

3
推荐指数
3
解决办法
1万
查看次数

MVVM概念中的困境

我在MVVM过去两周试图理解,但仍然有很多困惑理解它.

我最近启动了Windows Phone 8开发.

我对MVVM的理解,

M =模型意味着数据,具体是什么意思是模型应该被视为C语言的结构.它只有属性或成员变量(对象).它对View和View Model一无所知.

V =普通XAML.应该只有一种绑定方式,即使用方式DataContext.

VM = View Model是视图的模型.VM使用M来保存其数据(使用容器),VM负责将数据保存在数据库中或从数据库中获取数据.数据库交互应该在VM中进行.VM应该实现INotifyPropertyChanged,因为它负责保存和获取数据.

请注意,我建议我对MVVM有错误的概念.

wpf xaml mvvm inotifypropertychanged windows-phone-8

3
推荐指数
1
解决办法
1750
查看次数

为什么功能乐趣不适合ADL?

我有简单namespace,它有一个变量和一个函数.在main我尝试调用没有名称空间限定符的函数,并使用名称空间限定符调用变量.

namespace SAM
{
    int p = 10;
    void fun(int)
    {
        cout<<"Fun gets called";
    }
} 

int main()
{

    fun(SAM::p);//why SAM::fun is not get called?
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我不能称之为有趣,为什么它不符合ADL(依赖于参数的名称查找)?

我在Visual Studio中遇到以下错误.

'有趣':找不到标识符

如果我使用SAM::fun它,它的工作原理.

c++ visual-c++ argument-dependent-lookup

3
推荐指数
1
解决办法
70
查看次数