问题是 :
一个程序A,启动后创建一个进程启动另一个程序B,如何调试程序B?
答案是 附加进程 但是问题接着来了
加载进程后 断点出现换色叹号 提示信息是 此断点不会被命中 还没有问该文档加任何符号
试过重新生成 格式化代码等 都不行
代码如下:
Process p = new Process();
p.StartInfo.FileName = Application.StartupPath + @"\update.exe";
p.Start();
求解!!!!
附加进程没有问题。
你需要把程序 B 的 PDB 拷贝到 A 的运行目录。
已经考到下边了
我先启动程序A
然后再程序B加载进程
选择A。exe文件 点击附加
在B处也有断点
可是 断点就是不起作用 停不下来 怎么办?
@落叶知秋: 没看明白,你表述的不清楚。正确流程是这样:
1、在 A 的解决方案中按 F5 ,启动 A 程序;
2、A 运行后,执行完 p.Start() 后启动了 B.exe;
3、在 B 的解决方案中,点击“调试”-〉“附加到进程”,选择 B.exe;
@Launcher: 是的 我是这样操作的 可是断点停不下来
@落叶知秋: 对不起,我的断点可以停下来。请问,你的断点处的语句是在你附加进程后执行,还是在你附加进程前就已经执行了?
@Launcher:
1 在 A 的解决方案中按 F5 ,启动 A 程序;然后弹出下载提示 我不做操作
然后 在b程序中的调试 加载进程 选择A.exe 后 点击A程序的下载按钮 弹出
B程序的窗体 窗体上有个按钮 点击按钮 断点停不下来 所以说是在加载后执行的
@落叶知秋:
1、在 A 的解决方案中按 F5 ,启动 A 程序;
2、A 运行后,执行完 p.Start() 后启动了 B.exe;
3、在 B 的解决方案中,点击“调试”-〉“附加到进程”,选择 B.exe;
请仔细读我写的话,A 启动 B 的话,你的附加到进程要在 B 的解决方案来做,而且是需要附加到 B.exe,而你是附加到 A.exe,完全搞错了,怎么可能像你说的:我是这样操作的 。
要调试 B 程序,你需要附加到 B.exe,附加到 B.exe,附加到 B.exe,附加到 B.exe,附加到 B.exe附加到 B.exe附加到 B.exe附加到 B.exe附加到 B.exe。
@Launcher:
问题是 我在b程序中加载进程的时候 没有b.exe啊 有A.exe 所以我猜添加的是A
@落叶知秋:
1、在 A 的解决方案中按 F5 ,启动 A 程序;
2、A 运行后,执行完 p.Start() 后启动了 B.exe;
3、在 B 的解决方案中,点击“调试”-〉“附加到进程”,选择 B.exe;
注意看 2,3步,点击 A 的下载按钮,弹出 B 程序的窗体后,你在 B 解决方案中选择 “附加到进程”,就可以在进程列表中找到 B.exe。
请认真读我写的每一个字!!!!!!!!!!!!!
@Launcher: 那个 实在是太对不起您啦 我是新手 而且对这个还不熟悉
太不好意思了 这次真的成功了 谢谢你
我能问一下吗 我现在做一个异步升级的升序 winfrom的
刚才的那个问题就是下载更新的功能
我上传一个文件夹 里边又。txt 。exe 。xml的文件 文件大约有五百多 下载的时候就会出现下载失败的情况 我设置断点 发现 下载失败的都是写 exe xml ini log等文件
但是我单独上传exe文件 就没有问题
您能帮我解答一下么?
@落叶知秋: 你的把话说清楚,是下载的所有 *.exe 文件都失败,还是上传的所有 *.exe 文件都失败?
@Launcher: 哦 上传时没有问题的 就是下载的时候 所以的.exe都失败
选择文件夹上传文件成功后 下载文件的时候 出现 所有.exe .ini .log .xml 文件等都失败
但是选择单个文件上传成功后 下载这些文件就可以成功
@落叶知秋:我假设下载失败的 *.exe 文件的地址为:
http://q.cnblogs.com/q/53456/mainapp.exe
那么,你直接在浏览器地址栏中输入出 http://q.cnblogs.com/q/53456/mainapp.exe,能下载成功吗?
@Launcher: 我试一试
@Launcher: 我现在 是做测试 我把 我的文件上传到我同事的电脑上 然后 在从他的电脑下载
这样的话 你上边所说的测试行为 可行么? 要怎么做?
@落叶知秋: 可以。目的就是要保证你批量上传和单独上传后,文件确实在服务器的正确位置处。通过浏览器来下载的话,可以避免你的程序的BUG。即先排除你的下载代码的影响,先测试你的上传代码的正确性。
@Launcher:我把文件上传到 我同事的
D盘下的某个文件夹里 我要如何测试呢 直接输入他的绝对路径么 不行吧?
那要如何做呢 ?
最离奇的是 上周 是好使的 今天就不行啦 哎!!!
@落叶知秋: 在 IIS 上建立一个网站,然后物理路径指向你D盘的某个文件夹。
@Launcher: 好的 我试一下
@Launcher: 我发现 下载出问题的都是 0kb的文件 源文件也是0kb文件啊 和这个有关系么?
@Launcher: 我找到原因了 是因为 我再上传的时候 创建了子文件夹 下载的时候直接在根目录下载的文件 当然就会报错 汗 这个错误 真郁闷 我弱弱的问一下 能取到服务器文件的路径么 再子文件夹里的文件要怎么获取啊?
@落叶知秋: IIS 设置了允许浏览的话,可以显示文件目录,例如:
你在浏览器上键入:http://www.ssss.com/files
浏览器会显示此路径下的所有目录和文件:
http://www.ssss.com/files/dir1
http://www.ssss.com/files/dir2
http://www.ssss.com/files/file1.dat
因此,你可以通过 Get http://www.ssss.com/files 请求来得到此页面,然后解析出文件地址。
@Launcher: 恩好的 我测试一下
@Launcher:
回复,对你表示敬意。(与技术无关……)
你回答真是非常耐心了。
@唐风: 谢谢,为人民服务。
B也是你写的么?
你可以试试System.Diagnostics.Debugger.Break();
谢谢 不能调试的问题 已经解决了